Register completion for multiple commands (#246)

Shell startup files may contain lots of 'register-python-argcomplete'
calls, for as many scripts as require it.

However, this can have a significant impact on shell startup time,
because each one requires starting a Python interpreter and invoking
'complete'.

Optimise this by allowing 'register-python-argcomplete' to accept
multiple commands. In Bash, the whole list of completable commands
can be passed to a single 'complete' call. Tcsh requires a separate
'complete' call for each command, but we can at least avoid the
overhead of starting Python each time.

On my machine, the time to register ~10 completed scripts decreases
from about 0.4s to 0.05s with this change.
3 files changed