Allow vnode init to happen in parallel

Added an extra state to riak_core_vnode to decouple vnode initialization
from process creation.
Added a function to block until initialization is truly finished.
Vnode init call now takes a list of indices or single index.
The list version creates vnode processes first, then waits for them to
initialize, which allows it to happen in parallel.
Used the above in riak_core_ring_handler when starting services
on first ring event.
Tests show I/O saturation at bitcask startup now, instead of the
serialized trickle we had.
This code still needs some work to handle edge cases, specially around
how to handle vnode initialization failing.

Add concurrency control to vnode initialization
New pmap with bounded concurrency utility added with unit tests.

Fix cluster into to query vnode manager, not sup

With the parallel vnode change, there is more reason to not query the
supervisor directly, as its children may not have finished
initialization yet.
Add switch to revert to old vnode init behavior
Fix backwards compatibility of start_vnode

To allow parallel initialization of vnodes without changing the API in a
non-backwards compatible way. To use it, the vnode module has to
implement start_vnodes/1.
Address parallel vnode init review comments
Improve pmap perf by using sets, not lists
Merge pull request #281 from basho/eas-parallel-vnode-init-backport

Porting parallel vnode init fix to 1.3 + revert switch