use a default mapping to disable strings from being analized and set some
common Record fields
allow toJson to be called with a custom formatter, like pretty print, but without
the whitespace
move config name settings around so they can be shared or specialized for elasticsearch datastores
fix init to create index, use default mappings
implement elector on top of index with conditional document versions
refactor some helper routines into the ElasticSearchDatastore companion class