Add support for complete -D.

In recent versions of bash, 'complete -D ' specifies a default
completion. This can be used to load completion functions dynamically:
if the function bould to complete -D returns status code 124, bash
retries the completion, assuming that the completion configuration has
been updated.

The first step is to parse and detect "complete -D" when output by
"complete -p". The first time bash-completion-generate-line is called
from bash-completion-comm, if no completion is configured,
bash-completion.el falls back to the completion configured for
"complete -D". If the function returns the status code 124,
bash-completion-comm reloads the completion configuration and retries
the completion once.

Getting access to the return code of the original function is tricky,
since it's called from compgen, inside of __bash_complete_wrapper...
To work around that problem, I made __bash_complete_wrapper output a
very special string when it notices this status code, which is
detected when processing the output buffer. It's ugly, but seems to
work.
Merge remote-tracking branch 'origin/master' into complete_D

Conflicts:
	bash-completion.el