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.
The API now allows cluster operations using label as in identifier.
Persistent Security Groups setting is not exposed yet - it doesn't work properly.
Presto settings have changed.
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
Merge pull request #39 from mindprince/api-updates

Address recent/upcoming API updates.
Fix test_label. Needed after 3db74dfb15
Merge pull request #38 from mindprince:tests-with-mocks

Add tests.