Fix more bugs
Test fix now that remote_client is required
Change deploy_client back to take app/env as params always.

This is because, thinking about it, the deployclient is likely
to want to be reused by multiple instances all of which are resolving
at once - there's no reason that the stomp connection etc can't be reused.
Ergo one instance could be in multiple ::Engines, which makes making app/env
instance data totally wrong.

Thinking about / looking at this, I also fixed a couple of bugs
in the option parser, and thought about testing it better.
Added some TODO tests, and split the parse/execute methods
so that the same test can test multiple ARGV parses, without
having to override the execute method to stop stuff happening