Keyword additions

added support for ansi sql functions
added CASE, WHEN, FULL keywords
changed GROUP to GROUP BY
I just checked this change locally and realized that there is a mistake in the completion. The last_token will always be 'by' so when I check if it's 'order by' or 'group by' it will never match. So the completions for those will always end up in the 'else' clause which results in showing all the keywords, instead of columns. 

The fix for that is to check `if last_token.lower() in ('set', 'by'):` 

That should fix it. Would you mind updating the PR with that change as well?