update C++11 compiler support

initializing a member array in constructor initializer is not support.
add intermediate target

implement allocators and iterators to reproduce std::vector.
update nek/type_traits.hpp

add nek/type_traits some headers
add has_pointer.hpp

evaluete a class or struct has a member of `pointer` that is type.
revise `NEK_HAS_XXX_TYPE` macro and `NEK_IS_XXX` macro

remove `namespace nek` and change `namespace detail` to `namespace <macro-param>##detail`
add `is_const` meta function
add `is_volatile` meta function
add `is_enum` meta function