Feature/x3 keywords

This pull request adds the keyword parser to the extensions. This only covers the case sensitive version. 
Should case insensitive behavior be necessary I can extend this in the future.

I consider this version of the keywords parser as suitable to be merged into develop.
Should something be wrong, or missing, or to be improved please let me know.

`int` has been used a number of places for the index into the `std::tuple`, but `std::size_t` seems more appropriate since thats the return type of the sizeof...() operator.