Properly serialize/deserialize MarkerPatches

Marker patches had a few issues when serializing/deserializing the
history:

* They always assumed that @oldParams.range and @newParams.range was
  defined.
* MarkerPatch was not registered on Transaction as a deserializer even
  though marker patches could end up in serialized transactions.
* MarkerPatch::deserializeParams was not returning the params
1.4.4