Add additional mapping mixin methods, and tests
Add __contains__ to ElasticResultRecord, it probably should behave a bit differently