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.
Like I mentioned above, `self.bucket.bucket_type` will be a `BucketType` object.