Fix TokenID and tokenStringRepresentation implementations

Fixes #96

It seems both of these functions took parameters in one order, but then swapped the order for `possibleDefaultTokens` and `dynamicTokens`.

I've fixed and simplified both implementations by simply concatenating the 3 arrays. If this is considered too expensive (I mean at compile-time), we could implement some kind of wrapper template that provides indexing which would be used via: `alias array = Flatten!(staticTokens, dynamicTokens, possibleDefaultTokens).` 

I'm not sure if that would speed things up though, or even if concatenation has any impact on compile-time speed at all.