Added a cluster parameter to define StartupTimeout. Fixed issue where a CreateSession would block trying to connect indefinitely when no hosts are available to connect to.
added impl.close() to make sure the connections stop retrying after returning error to user. Added test case to make sure CreateSession does not block indefinitely again.
Merge branch 'master' into TimeoutCreateSession
Merge remote-tracking branch 'upstream/master' into TimeoutCreateSession
Merged upstream/master. Updated test case with Bens recommendations to return a message for incorrect error type and also if no error was returned.
Spelling correction in error message
Merge pull request #113 from phillipCouto/TimeoutCreateSession

Fix issue with CreateSession blocking indefinitely
Add an option to enable TCP keepalive.

This is only available on go 1.2 onwards. Defaults to being off
and only enabled explicitly.