refactor keyword provider some in prep for lexer vs code completion differences.
change the way we handle recommendations.
1) much simpler set of syntax words
2) separation of various types
3) better handling of trailing word
4) corrected use of '*** X ***' and '[X]'