Updated project to compile on Linux (tested with g++).
Changed code to be compliant with ISO C++.
typedef-based static assert (using negative array size) updated to use C++11 static_assert
For hash maps / sets using enum classes as keys, provided EnumHasher class.