Fix highlighting of nested tab stops

Nested tab stops like `${1:head ${2} tail}` were not properly
highlighting the "tail" or the closing `}` of the outer tab stop.
Merge pull request #355 from kballard/fix_syntax_nested_tabstop

Fix highlighting of nested tab stops
Tweak the ftplugin

Update the ftplugin to behave better. This means use b:did_ftplugin,
toggle cpo as appropriate, and define a b:undo_ftplugin.