Exclude id field from _source

Fixes #78
Fix (seemingly unrelated) bug in test_annotation

For some reason, by introducing the `'_source':{'excludes':['id']}`,
suddenly Elasticsearch does not store empty objects into arrays in the
`_source` anymore. Elasticsearch bug?
Make Elasticsearch read _id from the id field

Achieved by specifying a `path` in the mapping for `_id`.
See http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-id-field.html
On save, set op_type to 'create' in absence of id
Add tests for op_type
Remove superfluous ann.id alias for ann['id']
Merge pull request #81 from Treora/exclude_id

Exclude id field from _source