Add a nice CLI interface

@isaacseymour This could maybe be *written* better (read - future refactor & spec), but we can now do this:

### Creating a Client
```
> atum new fruity-api
      create  fruity-api/Gemfile
      create  fruity-api/Rakefile
      create  fruity-api/LICENSE.txt
      create  fruity-api/README.md
      create  fruity-api/.gitignore
      create  fruity-api/fruity-api.gemspec
      create  fruity-api/lib/fruity/api.rb
      create  fruity-api/lib/fruity/api/version.rb
Initializing git repo in /Users/petehamilton/projects/atum/fruity-api
```

### Generating Client Code

```
> atum generate --file ~/.../schema.json --url https://api.gocardless.com
Successfully regenerated with atum v0.6.0)

We suggest you now run:

	git add . -A && git commit -am 'Regenerated client on 2014-10-10T15:26:19Z (atum v0.6.0)'

Or, run the command with the --commit flag to do this automatically
```

within the gem (with several defaults automatically set in an .atum.yml file so we don't need to pass everything on the command line if we don't want to) in order to regenerate the entire client.

On errors, we get nice messages, etc...

```
> atum generate
Error: file must be given (either in .atum.yml or via cli options)

Usage:
  atum generate

Options:
  -H, [--default-headers=DEFAULT_HEADERS]  # A comma separated list of headers, e.g. Api-Version: 2010-10-03, Accept-Language: Fr
      [--constant-name=CONSTANT_NAME]      # e.g. FruityApi
      [--file=FILE]
      [--url=URL]
      [--gem-name=GEM_NAME]
      [--commit], [--no-commit]            # Automatically commit the generated code

generate the atum client in a lib directory
```

```
> atum help
Commands:
  atum help [COMMAND]     # Describe available commands or one specific command
  atum new <client_name>  # create a new client gem
  atum generate         # regenerate the atum client
  atum version            # print Atum version

> atum help generate
Usage:
  atum regenerate

Options:
  -H, [--default-headers=DEFAULT_HEADERS]  # A comma separated list of headers, e.g. Api-Version: 2010-10-03, Accept-Language: Fr
      [--constant-name=CONSTANT_NAME]      # e.g. FruityApi
      [--file=FILE]
      [--url=URL]
      [--gem-name=GEM_NAME]
      [--commit], [--no-commit]            # Automatically commit the generated code

generate the atum client
```