Single cell / tile-based index

Makes the change to a single-cell, tile-based index. As a result:

- atomicity of our transactions is greatly enhanced: there's one dynamo record per feature
- structure of dynamo records is changed, introducing two global-secondary indexes (one for spatial indexing, other for user-assigned ids)
- geobuf representation of the feature is always put to S3 (even if it is also small enough to fit in the dynamo record), and dynamo record contains the complete `s3://` url to get at it
- metadata is not tracked on-the-fly, although the functions are still there that you could make updates on a feature-by-feature basis (in a separate request, that is)
- adds function to recalculate metadata for an entire dataset by inspecting each record in the dataset