Replaced boost metabrogramming
* boost::mpl::if_ replaced with std::conditional
* boost::enable_if reaplced with std::conditional
Removed debugging function
More mpl usages replaced with std
Some new compiletime resrictions for tuple and pair