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 #45 from vrajat/master

Support for DbImport commands
Update version
Add support in the SDK for composite commands.

The CLI doesn't support them yet. I don't know of a good way of doing it.
If you consturct the sub_commands using the parse method of the corresponding
classes, there would be extra 'can_notify' and 'label' keys inside them
which the API would ignore. Only the options given directly to the composite
commands are acted upon by the 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.
Trying out travis-ci
Don't import unittest2 for 2.7
Install unittest2 for Python 2.6 while testing.