Allow host, account, port, animal to be passed on the command line

I've been using Kyle for all my passwords recently and it's really awesome! I've made a few changes which I think make it slightly quicker to use:

* `$ kyle hostname account port` bypasses the prompting which I think makes usage a bit quicker.
* `$ kyle hostname account port animal` only `puts` the password for the specified animal for quicker copy-pasting,
* Key is only prompted for once unless `-c` is specified. In most cases I just want to get a password to sign in, so if I get it wrong the first attempt I don't care that much, I'll just get an error logging in. I only really need Kyle to check my key when I'm generating the password for a new service.
* Updated the `README` a bit.

Also some refactoring:

* Tests use Rspec - `bundle exec rspec` to run the test suite.
* Code obeys [Rubocop](https://github.com/bbatsov/rubocop) conventions.
* `Kyle` only does the password hashing stuff, for easier reuse.
* `KyleCommands` handles command-line input.

Let me know what you think!