[#12] Added MemoryType class to replace enum.

Reduced number of elaborate comparisons with the memory type. Added little class to represent the type instead of an enum, to give it some intelligence.
Added c++98-standard flag to Makefile

This will warn us if we use any gnu/gcc specific extensions. We could consider using c++11, altough that will break compatibility with some older compilers, but in return we get nice things like auto-pointers and class member initialization in the header file.