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
I think this will need to be modified slightly to work for nested `other_names` (`start_date` and `end_date`) and `contact_details` (`valid_from` and `valid_until`) objects.

I guess the simplest way is to just iterate over the `other_names` and `contact_details` arrays and perform the same date checks as we are for the top level.