Add ability to build without interacting with available artifact
servers.

By adding a new user context and bst main option, we can provide
more granular control of what remotes are utilised during relevant
bst pull and push actions.

_artifactcache/artifactcache.py: Expand setup_remotes() to consider
the user context value of 'use_remotes'. Allowing the user to omit
interacting with all, or all non user defined remotes.

tests/frontend: pull.py & push.py addition of tests for checking
expected behaviour. Ensures interaction with user, project or no
remotes.
4 files changed