forward port membackend fixes
fix a few new places where modstate is not updated
- Checks for the existence of the specified bucket type in
  riak_kv_pb_bucket:maybe_create_bucket_type/2 and
  riak_kv_pb_object:maybe_create_bucket_type/2 to properly handle
  requests for undefined bucket types (defect #875)
- Integrates feedback from @reiddraper in PR #966
   - Adds specs to riak_kv_pb_bucket:maybe_bucket_type_exists/1,
     riak_kv_pb_bucket:maybe_create_bucket_type/2, and
     riak_kv_pb_bucket:maybe_create_bucket_type/3
   - Simplifies the case statement in riak_kv_pb_bucket:process
Merge pull request #963 from basho/develop-membackend-fix

forward port membackend fixes

Reviewed-by: cmeiklejohn
Merge pull request #970 from basho/bugfix/jsb/fix-list-keys-missing-bucket-type-rebase

Verify bucket type existence for list keys and buckets operations

Reviewed-by: reiddraper
Improve on 5 min AAE+ownership change stall

The hard coded default has been changed from 5 minutes to 1 minute.
Also, usage of the FSM timeout mechanism that could lead to the FSM
ending up stuck forever has been changed to gen_fsm:send_event_after