* WIP - Substruct Library Serialization
* Add serialization to SubstructLibrary
* Add SubstructLibraryDefs
This holds the definition of whether the substruct
library is serializable
* Wrap serialization in python
* Remove .h file, add .h.in file
* Configure header file into source dir
* Use RDConfig.h to configure serialization
* Move serialization code to seperate header file
* Fixes for review comments
* Removes some code redundancy
* Make pickling mols less memory intensive
* Check if molholders come back as the right types
* boost::thread mostly gone... still need to get rid of once
everything compiles
* replace boost::call_once
* remove link-time dependency on boost::thread
* first pass at using async
* switch to using async everywhere
* First entry of the SubstructLibrary module
* Switch to shared_ptrs for memory safety
* run clang-format and add a test
* only build when threadsafe_sss is enabled, only test when test_multithreaded is enabled
* Adds PRECONDITION
* Adds exceptions for out of range errors
* Changes getQueryBits to makeQueryBits for clarity
* Adds API point to add Binary and Smiles directly
* Replaces 0 with NULL for clarity.
* Removes debugging code.
* Makes endIdx non-inclusive
* Adds substruct searching options
* Adds preconditions
* Small documentation cleanup and removes a line of code.
* Add DataStructs library dependency
* Actually uses passed in parameters
* Adds TrustedSmiles/Binary inputs
* Adds more api testing options/trusted smiles and binary inputs
* Finalizes API adds docs and doctests
* Minor copyright fixes and such