Wrapping c++14
This patch adds support for parsing headers that have various features that were introduced in the C++14 standard:
- binary literals
- digit separators in numeric literals
- variable templates
- "typename" instead of "class" in templated template parameters
It also introduces a proposed C++17 feature:
- the u8 prefix for character literals