Add missing builder.hpp include
Add explicit dependency on gtest to the test main.cpp
Allow manually specifying ejdb in combination with cmake find*
Fix usage of noexcept on functions that call throwing things
Put ejdb error codes in an enum class.
Properly implement make_error_code & specialise is_error_code_enum.
Also reformat
Use jbson::builder over json_reader for empty query
Make all enums strongly typed + more appropriate noexcept
Remove unneeded constructor/destuctor declarations/definitions
Template execute_query on query_search_mode enum.
Able to return different types based on this:
- vector<document> for normal queries.
- uint32_t for count only queries and count|first queries.
- optional<document> for first only queries.
Export symbols for shared lib properly