Create abstract base classes for hash functions
Update build flags to silence some warnings present in the Cryptopp headers when compiling with clang
Fix/silence gcc warnings
Make Doxygen pick up the include dir as well
Change Crypto++ and googletest to be included as system headers to suppress warnings