FormPreserve fixes

This fixes some issues I reported in https://github.com/aldeed/meteor-autoform/pull/67. `getFormValues()` doesn't add the doc `_id` so when replacing the doc with the cache it's removed. Note these don't fix this for subforms, but that's not really an issue for me. I can't find where `_id` is set in autoform. Perhaps it's provided from the template. Perhaps have an option to disable FormPreserve - at least for me it's only been a headache fixing issues and malformed data and I don't care about form data resetting between migrations.
Now that you mention it, it's probably not good to extend the passed in doc directly in general (since _.extend extends by reference). It would be better to extend a new object with both. I'm not positive it would be an issue, but to be safe, could do `context.doc = _.extend({}, context.doc || {}, retrievedDoc);`