Add test case for bucket name re-cycle
Filter out buckets in user record by last_action=deleted

This fixes a bug related to bucket name re-cycle,
storage calc wrongly includes deleted buckets.
An example of steps to reproduce is:

1. Alice creates a bucket foo
2. Alice deletes the bucket foo
3. Bob creates a bucket with the same name foo
4. Bob PUTs an object to the bucket
5. Then storage calc reports the bucket usage to both Alice and Bob

Condition: (A AND (B-1 OR B-2))

A. a user deletes a bucket and another user creates a bucket with the same name.

B-1. recycle of the bucket name is occured in leeway seconds (default: 1 day)
B-2. some nodes in cluster are down before another change to the user occures.

Conflicts:
	src/riak_cs_storage.erl
Merge pull request #996 from basho/bugfix/storage-calc-on-deleted-buckets-1.5

Bugfix: storage calc on deleted buckets (porting to 1.5)

Reviewed-by: kuenishi
Update RELEASE-NOTES.md
Add read_before_last_manifest_write option to avoid sibling explosion

Add read_before_last_manifest_write option to help avoid sibling
explosion for use cases involving high churn and concurrency on a
fixed set of keys. When sibling explosion occurs the objects stored in
Riak can become very large and severely impair the functioning of the
system. The trade-off in enabling this option is latency penalty of
doing an extra read before the final write of an object's manifest to
Riak; however, for use cases matching the description the minor
latency penalty is preferable to the system to the consequences of
sibling explosion. This option is not needed for Riak CS installations
using a Riak version that is >= 2.0.0 with DVVs enabled.
Change read_before_last_manifest_write default to true
Update otp version in travis.yml file
Merge pull request #1011 from basho/feature/read-before-last-manifest-write

Add read_before_last_manifest_write option to avoid sibling explosion

Reviewed-by: kellymclaughlin
Make all kind of timeouts hitting Riak configurable

- All configuration items gathered into `riak_cs_config:*_timeout/0`
- Defaults varies from 5 to 60 seconds according to old code
- New items has defaults by 60 seconds defined in `riak_cs.hrl`
- You can set all configurations at once by setting `riakc_timeouts`
  in `riak_cs` section of `app.config`
- Riak client calls that stem from manual operations does not have
  timeout values configurable

 #Please enter the commit message for your changes. Lines starting
Update a few more riak_cs_pbc calls after timeout API changes
Fixup some mecking and general cleanup of riak_cs_gc_single_run_eqc
Update test assertion for cs743_regression_test

The increase in the default timeout for the mapreduce query used to
retrieve storage calculation results causes the previous expectation
of timeout in this test to no longer be valid.  Update the test
assertion to check that the response is not a timeout instead.
Correct error in call to riak_repl_pb_api:get in riak_cs_block_server
Minor changes to address review feedback
Merge pull request #1021 from basho/feature/gh1008-configurable-timeouts

Make all kind of timeouts hitting Riak configurable

Reviewed-by: kellymclaughlin
Rolling Riak CS 1.5.3
Update release notes for 1.5.3 release
Merge pull request #1031 from basho/feature/1.5.3-release-notes

Looks good!
Merge branch 'release/1.5' into merge-1.5-branch
Merge pull request #1039 from basho/merge-1.5-branch

Merge 1.5 branch - no conflicts.