initial version w/ size limit
Merge remote-tracking branch 'origin/jd-cuttlefish' into feature/pevm-metadata-cache
make cache disablable
Merge feature/pevm-metadata-cache into feature/pevm-metadata-cache.merged

Conflicts:
	src/riak_kv_vnode.erl
Merge remote-tracking branch 'origin/develop' into feature/pevm-metadata-cache.merged

Conflicts:
	src/riak_object.erl
address review comments
Refactor the get and put fsms

- avoid the use of proplist in favor of get_option, which uses
lists:keyfind internally.

- avoid state mutations wherever possible, typically by grouping them.

- directly construct iolists instead of using io_lib:format/3

- hide tracing stuff behind macros and variables, defaulting to off.
Merge pull request #734 from basho/refactor/pevm-fsm-opt-parsing

Refactor FSMs to do less work