hash and typeinfo refactoring

change windows makefiles

revert typeinfo refactoring

revert typeinfo refactoring

change static if to template overload

some renames & cleanup

more cleanup

hash rework

some fixes

add new hash.d