Added header for all language extensions: lang.hpp.

Split enums.hpp into iterable_enum and string_enum.
Fixed header guards to start with _.
Tested with g++ 4.8.2.