Add optional `bucket_type` parameter for Map/Reduce

It looks like support for bucket types were overlooked when the `riak-python-client` was updated to version 2.1.0 to support Riak 2.0.  This addresses issue https://github.com/basho/riak-python-client/issues/383.

Essentially the `add()` function now supports an optional `bucket_type` argument which will percolate down to the M/R JSON sent to Riak.  If it is not supplied or is `None` it is assumed that the `default` bucket type is being used. `index()` was also updated, but `search()` was not since it actually now uses Solr indexes instead of bucket types.
I suspect I actually mean the argument `bucket_type` instead of the `bucket.bucket_type`, i.e., the case where the user actually specified the bucket type. We could always take the bucket_type from the `RiakBucket `object here or only add it to the M/R job iff the user explicitly adds it. That was my thought for safest backwards compatibility.