Added areFieldsIndexed method and Tests for it

The new method is needed for https://github.com/doctrine/mongodb-odm/issues/761 and checks if all queried fields are indexed.

While writing this PR I found that prefix doesn't have to be continuous but needs first field of index included (however the index is less efficient then - http://docs.mongodb.org/manual/core/index-compound/#prefixes ). ~~Right now I'm disallowing this (it'll be a signal to developer that collection could be better indexed) but I'm not sure if it is good approach... @jmikola what do you think about it?~~ I've added option to allow less efficient indexes, by default it's ~~false~~ true. I think that later in ODM we could add option to requireIndexes annotation and let developer decide

TODO:
* [x] - add areFieldsIndexed method
* [x] - add areFieldsIndexedForSorting method which will respect http://docs.mongodb.org/manual/core/index-compound/#sort-order