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