WIP transport refactor. Things are broken, do not use.

* Connection manager and monitor are gone.
* PBC transport is broken up into multiple files for clarity.
* Outline of streaming operations (currently only PBC).
* All requests go through the RiakClient object, which handles the
  connection pools. Accessing the transport directly is now forbidden.
* The client can connect to multiple nodes, and each node has an
  associated error rate (to be used later when implementing error
  recovery). The node selected for new connections depends on the
  error rate.

TODO:

* Break up HTTP into smaller files and add resource detection (for URL
  generation).
* Add streaming operations to HTTP.
Actually connect to PBC by connecting the socket.
Add transport method to client.
Fix some typos and comments from @ultimatebuster.
Move client -> client/__init__.
Move connection-claiming into a new module, add retry logic.

* RiakClient.transport is now RiakClient._transport (via
  RiakClientTransport mixin).
* HTTP and PBC transports define their own version of what are
  retryable exceptions.
The node is a private attribute on the transport.
Move http.py in preparation for refactoring.
Start breaking out HTTP into multiple files.
Add resource URL path generator methods, not wired up.
Move HTTP request methods into a new file and wire up URL generators.
Make RETRY_COUNT a property and use a for loop over a range instead of while.
Fix gobs of pyflakes, pylint, pep8 problems.
Fixed a bunch of test failures and stupid typos/bugs.
Fix the iteration logic in PBC streaming.
Fix get_buckets logic.
Add a print format for RiakBucket.
Fix PBC list-keys.
Fix search bug: shouldn't lowercase AND/OR/NOT in query string
Fix bug in index_path.