Added support for a "restore" mapping, to complement "create".

When you call fromJS you can specify a create mapping, which is a method for converting from js to the new object.

Now, you can also provide a restore mapping, which is a method that converts from the new object back into js.