Teach riak_core Bucket Types

Like buckets, we must teach core this because a few subsystems
use them. Bucket Types provide a method for grouping buckets
logically (see https://github.com/basho/riak/issues/362).
Isolate app.config from non-default bucket type properties, implement reset

Non-default bucket-types are unaffected by changes to app.config and
bucket types can have their properties reset to the hardcoded defaults.
Merge branch 'jrw-cluster-meta' into eas-bucket-type-merged
Merge branch 'adt-bucket-type-defaults-and-reset' into eas-bucket-type-merged
Merge branch 'develop' into eas-bucket-type-merged

Conflicts:
	src/riak_core_bucket.erl
Merge bucket type integration branch to develop