Tab completion improvements

A plugin can now specify &subroutine in the :Tab attribute; this sub will
be called as a method and can return a list of possible completions.