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.

1. Couldn't the tst_map store a std::function instead? IMO, the code would be more readable - does this version offer a performance advantage? Can the compiler see through the pointers and create a jump table where the subject parse functions are inlined? K-ballo what do you think? I think this is a similar situation to your super secret C++11 variant, did you come up with an alternative solution to this problem?
2. If a static array is kept, I think this might be a good area to use const. Don't want to accidentally re-assign a value after initialization, or thread-safety has just been violated.