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
minor cleanup in riak_core_metadata & riak_core_broadcast

* fix some whitespace
* only allow valid boolean values for allow_put get option
Merge pull request #457 from basho/jrw-cm-improvements

Yet Another Round of Cluster Metadata Improvements (YAROCMI #1)