Added PROTECTED_KEYS to only merge keys we want

Adds special consideration for keys special to our implementation
(Solr) such as the id / version which we cannot change.
Added test to be sure we merge docs correctly