Update otp_release list in .travis.yml

Changes:
* Removed R14* Erlang version targets from `.travis.yml`
* Added R15B* and R16B Erlang version targets to `.travis.yml`

Background:
Until this change Travis CI was building against Erlang R14 which is not
supported for Riak (KV) according to [Basho documentation]
(http://docs.basho.com/riak/latest/ops/building/installing/erlang/),
which states, *"Riak requires Erlang R15B01"*. These consistently failed
since the ring resizing change was merged.

Since `.travis.yml` was updated last (a year ago) R15B0{2-3} and R16B
were released. R16B01 and R16B02 to not appear to be offered as choices
in Travis CI yet ([according to Travis CI's documentation]
(http://about.travis-ci.org/docs/user/languages/erlang/)).
Fix bad type specifications.

max_nb_const should be widened to include 'undefined', considering how
all callers into this function only ever pass undefined at this point.

Also, define a new 'target' type which is used, because currently, the
type is declared as string which is incorrect and triggering dialyzer
type warnings anywhere this type is referenced.
riak_core_metadata:to_list/1,2

these are convenience functions for debugging and testing, although
probably not so useful for production code
close metadata fold iterators upon termination

as of 0b59e4cd30ffedd29cea592f2edb347f41095019, iterators must be
closed when they are no longer used.

addresses #450
option to prevent writes of resolved values on metadata read

a new option, {allow_put, boolean()} can be passed to get/3,
iterator/2, fold/4, or to_list/2. the default is to perform the write.

addresses #440
increase broadcast's initial eager set size for larger clusters

increasing the fanout reduces the chance of requiring exchange to deliver
messages to all alive nodes during a broadcast. This patch decreases the
likelyhood by 20 to 30 percent, on average.

The chosen fanout is determined by the discrete function
`round(log(NumNodes)+1)`, where `log(x)` is the natural log and `NumNodes`
is the number of nodes in the cluster.  For practical cluster sizes,
this curve has a maximum fanout of about six peers, dependning on what
is considered the upper limit of practical cluster sizes.

addresses #438
enable read/write_concurrency on cluster metadata ets tables

addresses #443
Added initial vclock eqc_statem.
eunit-ify the vclock_qc
Generate the model along with the concrete in gen_vclock().
Make property operate on many vclocks.
Add vclock:dominates/2 with property.
Remove unused generators, clarify the collect, add an eunit timeout and more commands.
Update dominates/2 to use equal/2, QC property is broken.
Adjust EQC model to handle timestamps.
Add convenience funtions for running vclock eqc from console
Merge pull request #462 from basho/sdc-vclock-eqc

Add EQC statem property for vclock. [rebased]
Add get dot and dot type for dvv style causality

Conflicts:
	src/vclock.erl
Changing how pathing is determined:
* Adding new property to riak_core.app.src called platform_data_dir
* Removed ring_state_dir from riak_core.app.src
* Adding function to riak_core_ring_manager named ring_dir() to build a path for the ring file using either platform_data_dir or ring_state_dir
Changing path to prevent double ring directories.