testing: fix selects

They were logically broken.
testing: added method Version to FakeProvisioner

This method returns the current version, which match the last Deploy
call.

Related to #458.
deploy: added "checkout" unexported function

This function will be used to checkout the repository to a specific
version.

Related to #458.
deploy: calling checkout from Git function

Related to #458.
deploy/git: rename pull to fetch and run git fetch instead of git pull

Related to #458.
provision/juju: pass the version to the Git deployer

Related to #458.
provision/lxc: pass the version to the Git deployer

Related to #458.