Added the allow_reconnect parameter, allowing node death tolerance.

When this optional feature is turned on, the client will cycle between nodes in
the cluster upon connection failure, until a live one is found.
Alternative approach to reconnection
Support passing a cluster via constructor
Merge pull request #5 from jplana/allow-reconnect

Handling reconnections
Initial work on the v2 client
Completed the first phase of v2 integration, now needed:

1) Unit tests on the new fundamental methods
2) Docs update!
Re-introducing paramenter newKey in order to keep the functionality
Correctly handling info on the creation of a key.

In order to be able to return the info that the key was created,
we need to return all the http response from api_execute (which is
IMO the right thing to do anyway).
Complete rewrite of unit tests for requests using mox.

Unit tests needed to be rewriteen much more than integration tests.
Mox is used instead of mock because it gives more strict control on
call arguments for methods.
Fixed the integration tests to reflect the changed value of the exception.
First batch of unit tests are completed
Delete can be recursive too
Finalizing v2 api unit testing
Documentation refresher
Version bump
Python3 compatibility initial commit (after 2to3 run)
Python 3 (>= 3.3) compatibility reached.
adding back old unit tests
last round of compatibility issues on the tests after rebasing
Docs