Move username check to methods that require usernames

* We're introducing a "list" method which requires no username argument
Add spec helper for capturing stdout to a string

* Shout out to @avdi for his awesome RubyTapas!
* http://www.rubytapas.com/episodes/29-Redirecting-Output
Add method to KeysFile for getting github users

* This returns a list of only the github users which have been added to
  your keys file.
Add 'list' command to CLI

* This will list all the users you've added to your keys file with this
  gem.
Updated README to include 'list' example and usage
Move "list" example further down in README

* This improves the "flow" of the examples by showing the use of `list`
  at the point in the example where two users have been added.

[#14]
Add final `list` example to README

* Per the natural flow of the example:
  1. Add users
  2. List users
  3. Remove users
  4. List users

[#14]
Use slightly more strict \S for gh user regex

[#14]
Remove explicit return from `ensure` clause

* There is a subtle difference in functionality, but it doesn't affect
  the implementation here.
* See https://github.com/chrishunt/github-auth/pull/14#discussion_r7122394
  for more information.

[#14]
Merge pull request #14 from iamvery/add-list-command

Add list command
Move --version test to acceptance

Thanks to the super helpful capture_stdout helper by @iamvery, we can
now move this to an acceptance test.
Merge pull request #15 from chrishunt/move-version-to-acceptance

Move --version test to acceptance
Remove print_* methods from auth/cli
Move usage tests to acceptance
Use OptionParser for parsing command line options
Reformat usage in Github::Auth::Options
Update README with new usage instructions
Shorten Options explanation
Fix usage mistake in README
Merge pull request #16 from chrishunt/option-parser

Use OptionParser for command line options