* Big refactoring in order to reduce template and debug symbol bloat.
* Fixes #8698
* Implemented SCARY iterators
Fixed some GCC warnings and errors
Marked some constructor as explicit and fixed trivial documentation issues
Fixed GCC 4.8 unused typedefs warnings
Fixed error when clear_on_destroy was made configurable. hashtable always needs to clear the bucket array to be able to reuse buckets.