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

This PR includes several minor changes to Cluster Metadata to address outstanding issues:

* #450 
* #440 
* #438 
* #443 

In addition, this PR adds two additional functions to `riak_core_metadata`. `to_list/1,2` are primarily useful for testing and debugging.

The commits contain details about the motivations for each change but I've put some extra notes below.

### Increasing Eager Set Size for Larger Clusters

Prior to these changes the initial size of the eager peer set for all nodes had a maximum of two. This increased the chances of relying on Cluster Metadata's anti-entropy mechanism. Ideally, we want to reduce this chance as much as possible. These changes increase that maximum depending on the size of the cluster. In addition, as the number of nodes in the cluster increases or decreases, because the tree is re-initialized at each membership change, it will be re-optimized for the new size. 

The following table shows the average percentage of failed nodes before an exchange is needed for 10, 20 and 40 nodes. These numbers were obtained by running a controlled test against the actual implementation.

<table>
<tr>
<th># nodes</th>
<th>before</th>
<th>after</th>
</tr>
<tr>
<td>10</td>
<td>64%</td>
<td>85%</td>
</tr>
<tr>
<td>20</td>
<td>44%</td>
<td>78%</td>
</tr>
<tr>
<td>40</td>
<td>40%</td>
<td>76%</td>
</tr>
</table>

### allow_put

What this option does is described in the commit and edocs added as part of it. However, the motivation for it is roughly explored [here](https://gist.github.com/jrwest/f8c0d49174f4db1c4c88)

## Other Notes for Review

https://github.com/basho/riak_test/pull/450 may be useful for testing these changes and verifying the properties of the larger eager set sizes (although you will need to be able to support running a large number of nodes on one machine to test the same sizes)