Add AlreadyMerged command

`scc already-merged` now provides a way to check which
branches both local and remote can be removed. Anything
not listed should be inspected for removal.
Systematically test the Github connection after instantiation

This additional checkpoint allows any scc command to fail-fast if bad
connection credentials are passed.
Add tests for failing Github connections
Add Github connection tests to Travis build
Change TestGithub superclass to unittest.TestCase
Add Label command
Improve exception handling
Merge pull request #29 from joshmoore/add_labels

Add Label command
Add CheckMilestone command

This determines PRs between a range and
then checks whether or not they have a
milestone set.
Suggested improvements from Sebastien

 * Catch 404 on invalid permissions
 * Include PR in message
Merge pull request #43 from joshmoore/in-milestone

Add CheckMilestone command
Merge pull request #33 from joshmoore/already-merged

Add AlreadyMerged command
Merge pull request #46 from sbesson/bad_credentials

Fail-fast if bad credentials are used
Remove undefined 'msg' usage
Merge pull request #51 from joshmoore/fix-bad-creds

Remove undefined 'msg' usage
Call sys.exit if one of the requirements is missing

Add simple test for conflicting github module (PyGithub3)
Handle KeyboardInterrupt when prompting for the password
If required packages are missing, call Stop() in the main()

Allows the library to be imported even with missing modules with import scc.
Move HelperFormatter into parsers()

If argparse is not installed, then the class
definition of HelpFormatter will fail if it's
at the top-level.
Use non-zero Stop rc for missing modules

This makes it clear that a missing module
execution in no way succeeded.