Handle 2i `timeout` error correctly

Don't cause a 500 + mochiweb error
Fix local timeout status
Add ack_execute to the put FSM's execute state for forwarded coordinator

When a put operation has been forwarded to a remote coordinator node,
When the remote put FSM enters the execute state, it sends an ack_execute
message back to the put FSM on the source node.  In the event that the
source node does not receive the ack_execute message, it will choose a
new coordinator node.  The hardcoded timeout is 3 seconds.
Add riak_kv_put_fsm:spawn_coordinator_proc() to add middleman spawned proc

If the net_kernel cannot talk to CoordNode, then any variation
of the spawn BIF will block.  The whole point of picking a new
coordinator node is being able to pick a new coordinator node
and try it ... without blocking for dozens of seconds.

If the chosen coordinator doesn't respond after a few seconds,
we also kill our local middleman to avoid short-term leaks of
Erlang processes.
Setup develop branch
Store monitor state in gen_server state

Don't call into the monitor process to get Type
Remove redundant monitor loop code
Throw a 503 not 500 on a timeout
Merge pull request #632 from basho/gh631-stat-crash

Store monitor state in gen_server state
Fix orphan stat repair process

A customer had a good number of riak_kv_stat restarts due to problems in
folsom as of yet undetermined. The number of processes was observed to
balloon in size. The stat repair process was created every time a
riak_kv_stat process was restarted. riak_kv_stat monitored this process,
but this process did not monitor riak_kv_stat, so when that went away,
this process stayed around forever blocked waiting on its msg box.
This change ensures the process monitors riak_kv_stat so it goes down
with it.
guard handoff as well
port from master to 1.4
moar logging
fix HTTP MR error reporting

These case clauses haven't matched since the 1.3 release, if my
testing is correct. This patch reinstates use of
riak_kv_mapred_json:jsonify_pipe_error to send useful JSON to
an HTTP client.
add guard to AAE
Merge pull request #638 from basho/pemv-drop-bad-data

Transform deserialization errors and CRC check failures into not_founds for 1.4
Merge pull request #636 from basho/eas-fix-orphan-stat-repair

Eas fix orphan stat repair
Merge pull request #635 from basho/gh625-stream-timeout

Handle 2i timeout
cherrypick and adapt 1.3 fold hardening
Merge pull request #641 from basho/pevm-leveldb-fold-hardening-1.4

leveldb fold hardening for 1.4