allow Context to be undefined in merge/2,3

This fixes the dialyzer errors about breaking the function's contract in
riak_core_metadata_exchange_fsm. That transitively fixes the non-local
return errors in the same module.

The Context is ignored in riak_core_metadata_manager:merge/2,3, so it
could instead be defined as any(), but adding undefined seemed the least
intrusive.