Higher order functions search feature

* Added a higher order functions search feature for case such as searching for a timestamp bigger than a given value or looking into the inside of arrays and nested documents.
* See README then test/bson_tests.erl to see examples