Fixed {key: null} queries

I've fixed incorrect handling of {key: null} queries: this triggered NullPointerException if a document with {key: null} existed and didn't match documents with inexistent 'key' field.

I've added a unit test to check difference between {key: null} and {key: {$exists: false}} queries (see http://stackoverflow.com/questions/12403240/storing-null-vs-not-storing-the-key-at-all-in-mongodb)