fix elastic search date mapping and search issues

Elastic search isn't happy with saving blank dates so we put in some
place holder ones and mark them as such when indexing documents. We then
remove the place holders and markers when we pull the dates back out.

This also means that death_date:>$some_date etc works as expected when
using the search.

FIxes #63 and Fixes mysociety/popit#610
Initial working version of person merger

Allows merging one person into another person. If there is an
unresolvable conflict then this will return an error, otherwise it will
copy the values over.

Currently this just handles basic fields, still need to add support for
arrays of values.
Handle merging arrays together
Ignore hidden paths when merging records

This means ignoring the _id, _internal, __v and other such fields as
they are internal to the individual record and don't need to be copied
across.
Add REST interface for merging people

This allows you to merge two people together via the API, the original
person is updated with the properties of the record to be merged in,
then the record that was merged in is deleted.