Pass STDIN string to LoginCli exception test

This test appears to require a non-empty string when run from a
non-interactive terminal such as Jenkins. It can be reproduced by piping
input to rspec:

    ➜  vcloud-core git:(vcloud_login_cli_test_failure) ✗ echo | b rspec spec/vcloud/core/login_cli_spec.rb:133
    Run options: include {:locations=>{"./spec/vcloud/core/login_cli_spec.rb"=>[133]}}
    F

    Failures:

      1) Vcloud::Core::LoginCli error handling when underlying code raises an exception should print error without backtrace and exit abnormally
         Failure/Error: expect(subject.stderr).to eq("vCloud password: \nsomething went horribly wrong")

           expected: "vCloud password: \nsomething went horribly wrong"
                got: "Reading password from pipe..\nundefined method `strip' for nil:NilClass"

I can't reproduce this by calling `vcloud-login` without rspec so I'm think
it's something to do with how we're instrumenting $stdin with StringIO. As
such I don't feel SO bad about this fix, even if it requires a long comment.

I've also removed with `.with()` expectation because we don't really care
about that in this test. We have others to ensure that the class gets the
right args.

NB: I did try highline's `whitespace = nil` option but it then blows up when
calling `nil.length`.
Allow LoginCli test to run from non-interactive

This test failed on Jenkins because `STDIN.tty?` returns false and we expect
the password to be piped in. So allow it to match either message.
Fix another LoginCli test failure

This test was still failing because the password string is echoed back.
Instead of extending the regex to also account for this, I've added a
condition on STDIN that should make either case clearer and pulled the
password and exception string out to variables.
Merge pull request #95 from gds-operations/vcloud_login_cli_test_failure

Fix LoginCli test failures on Jenkins