add the ability to pass in a non-string iterable to
specify a list of keys in a bucket to fetch via mapreduce
change exception type
add two additional cases and add tests for all
execption raising cases
Merge pull request #169 from evanmcc/pevm-mr-list-add

add list-consuming convenience function for mr.add
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.
made create_client use args for host, port, and transport
Merge pull request #180 from glassresistor/hotfix/tests_create_client

FIxes type in BaseTestCase.create_client