DB error messages catch up game
Not raising when updating or deleting non existent documents

Due to: https://github.com/rethinkdb/rethinkdb/issues/2350#issuecomment-42225323

We could eventually only have this behavior on point queries, but still, it's a
little messy.
Added the remove_field() method to allow primary key logic
Support for custom primary keys