Move Vcloud::Core::Login to Vcloud::Fog::Login

Because this class is strictly concerned about interacting with Fog -
setting/checking credentials and logging in. This follows the pattern of
putting all of our direct-Fog interactions into a single namespace, so that
we can refactor them if required at a later date.
Don't use Fog.credentials to set password

Modifying the global credential hash feels quite magic, when we could just
pass the necessary argument into the VcloudDirector class, which will
override the credentials.

By accessing Fog directly, rather than through
Vcloud::Fog::ServiceInterface, we can also modify our abstractions to Fog in
order to make them always require a token and raise an exception if they
find a plaintext password. This will come at a later date.
Allow vcloud-login password to be piped in

The highline gem pretty much does this for us. All we need to do is change
the prompt to make it clear that it's reading data, and not output the
masked password. This will make it easier for us to use this login method in
CI where Jenkins has the password as an environment variable.
Move password reading Fog::Login->Core::LoginCli

As a user-facing interaction this belongs in the LoginCli class. This
simplifies Fog::Login by never prompting for a password and makes it easier
to use as a library.

I have however needed to extend the LoginCli spec tests to send STDIN data.