vimrc: restore typo correction for commands

This is an improved method for the ex command typos.  It uses user commands to
bind the new commands into the same place as the old commands and avoids running
into issues like changing behaviour of the old commands as the previously
removed mechanism ran into.
vimrc: fix custom tag highlighting

This makes the NOTE, HACK, and TODO tags actually function properly.
vimrc: fix c-language categorisation, protect for autocmd
vimrc: uniformise comments
vimrc: improve code-formatting options

smartindent is deprecated in favour of cindent.  The latter is applicable to
more C-like languages, so use the C-like language mapping to apply the options.