Merge #102
Return error to core_vnode when vnode fails to start
Merge branch '1.1'
make JS VMs monitor the processes that check them out

This is to prevent VMs from leaking out of the pool when their owner
dies before triggering their checkin.  For example, if a map process
dies after requesting a vm reservation, but before dispatching any js
evaluations.  There is also the case where a dead process (because the
pipe was stripped down before the reserve call was fulfilled) can
reserve a VM.  This patch also prevents that from happening since the
VM will receive a DOWN msg and return itself to the pool
Use a call instead of cast to checkout VM

If you use a cast to checkout the VM there is a chance that two or
more processes could checkout the same VM.  This is because the
process that sends the `checkout_to` msg and the process that sends
the `blocking_dispatch` method are different and therefore the msgs are
not guaranteed to be ordered in relation to one another.  I.e. a race
can occur between the two messages.

1. worker A calls `reserve_vm`

1a. pool mgr removes VM from pool and sends async `checkout_to`

2. worker A calls `blocking_distpatch` (`checkout_to` still in flight)

3. VM does work on behalf of A, puts itself back in the pool, and
sends reply to worker (`checkout_to` still in flight)

4. worker B calls `reserve_vm` and gets same VM that worker A used
(`checkout_to` from original checkout still in air)

4a. pool mgr removes VM from pool and sends async `checkout_to`

5. original `checkout_to` lands on VM, worker A is dead

6. VM gets DOWN msg because worker A is dead

7. VM checks itself back into pool (but worker B thinks it has sole
possession)

8. worker C calls `reserve_vm` and gets same VM as worker B

Now two workers have the same VM.  This interleaving is probably rare
and probably wouldn't cause damage but it seems better to just use a
call instead to checkout the VM so that you know if a VM is checked
out it knows who it's owner is.  Since an idle VM shouldn't be
blocking on any other work the `checkout_to` call should return
promptly and shouldn't cause a long wait in `reserve_vm`.  To be safe,
a timeout is used.
Merge branch 'rz-js-vm-reserve' into 1.1
Merge branch '1.1'
Roll version riak_kv 1.1.1
Update dependency versions to pick up new deps
Make kvget and map workers return errors from send_output.

Previously the return was being ignored so if the send_output had
an error (e.g. worker_limit_reached) the inputs would be dropped
with no way for the client to know.
Updated process/3 spec for MapReduce fixtures.

Spotted in review - thx Ryan.
Removed the ?T macros I used for debugging - unsure of performance
impact.
Merge pull request #296 from basho/jdm-pipe-check-send-output-1.1

Pipe check send output 1.1
Change pipe listkeys worker to fail when send_ouput fails
Updated riak_kv_pipe_listkeys:process/3 spec
Merge pull request #298 from basho/jdb-pipe-listkeys

Change listkeys pipe to fail when send_output fails
Check send_output return when sending 2I results to a pipe.
Add error checking and wire up trace errors to next pipe for 2I.
Merge branch 'jdm-pipe-2i-check-send-output-1.1' into 1.1
Update riak_pipe dependency version
Merge branch '1.1'