Fixed compilation for clang 3.3
Now using boost type_traits for compilation
Clang now can push enums
Added reading enums and tests for it
Minor optimization
Merge branch 'master' into experimental/variadic-functions