Add tests for cluster commands.

Still need to add tests for cluster update and cluster create subcommands.
Right now, I am capturing calls to Connection._api_call().
It is probably a better idea to capture calls to the requests library itself.
That's in the to-do list.
The ability to use assertRaises() as a context manager was added in Python 2.7. Using unittest2 to use that in Python 2.6
Add tests for 'cluster create' and 'cluster update' commands.
Setup the required environment variable before running each test.

Earlier, I was exporting this variable manually from the command line.
Move helper methods and base class to separate file.
Add tests for 'report' subcommand
Don't capture stdout and stderr.

If you run the tests using pytest or nose. It is anyway not printed.
Start adding tests for commands api
Fix test_label. Needed after 3db74dfb15
Merge pull request #38 from mindprince:tests-with-mocks

Add tests.
Trying out travis-ci
Don't import unittest2 for 2.7
Install unittest2 for Python 2.6 while testing.
Fix sys.version_info check for Python 2.6. Skip a couple of tests if it is Python 2.6
Merge branch 'travis-ci'