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.
New cuttlefish api functions
Merge pull request #478 from basho/jd-cuttlefish-api

New cuttlefish api functions
Merge pull request #421 from mbbx6spp/clean-up-.travis.yml

Update otp_release list in .travis.yml
Merge pull request #430 from basho/bugfix/csm/bad-type-specifications

Fix bad type specifications.
Extract riak_core_connection and tests.

Conflicts:
	ebin/riak_core.app
	src/riak_core_connection.erl
	test/riak_core_connection_mgr_tests.erl
	test/riak_core_connection_tests.erl
	test/riak_core_service_mgr_tests.erl
Remove connection manager and service manager.

Conflicts:
	ebin/riak_core.app
	src/riak_core_connection_mgr.erl
	src/riak_core_service_mgr.erl
Remove ranch dependency.
Merge pull request #480 from basho/features/csm/connection-manager

Port 1.4 changes to the 2.0 branch.
Add a background lock and task manager module to riak core.
* The goal is to allow riak sub-systems to coordinate use of shared resources,
* e.g. protect from concurrent vnode folds on the same partition.
* Locks and tokens have a settable maximum concurrency limit.
* "Taken" locks and tokens are tracked in an ETS table.
* max_concurrency is returned when the set limits are reached.
* Processes that take locks are monitored.
* Locks are released when the taking processes terminate.
* Tokens are refreshed at a specified periodic rate.
* Token processes are not monitored because tokens never "release".
* A table manager is introduced to add persistence across process crashes,
* and to allow proper table transfer to occur without losing the table.
* An EQC test exercises the majority of the API. see test/bg_manager_eqc.erl
* See the original PR for background manager here: https://github.com/basho/riak_core/pull/364
Concurrency API should return 'undefined' for limits when the ETS table is unavailable * Allows callers to try again later
Remove history API, use unregistered to signal unavailability of bg-mgr, fix set_token_rate bug.
Prune the query API down to a consistent set of commands and adjust tests.
Change query API to use named ETS table directly; is not threaded through the gen_server.
Merge branch 'cet-bg-mgr-refactor-rebased' of git://github.com/basho/riak_core into cet-bg-mgr-refactor-rebased