canceling a command in a sequence will now stop the subsequent commands from being run

Conflicts:
	alot/commands/globals.py
	alot/ui.py
integrate sequencing of commands into ui.apply_commandline

and obsolete commands.globals.CommandSequenceCommand
remove obsolete CommandSequenceCommand
docstrings for ui.appli_commandline
add missing return statement in RetagPromptCommand

cf #629
hand Command instance to pre/post hooks

When a pre or post command hook is called it gets
the Command instance it belongs to as keyword parameter "cmd".
This allows e.g. the post hook of TagCommands to access the
query string used in this particular instance.
doc: mention cmd-keyword parm to pre/post cmd hooks
re-raise CommandCanceled failures
return Deferreds in Command.apply

... in search.RefinePromptCommand,
bufferlist.BufferCloseCommand
and globals.BufferCloseCommand
fix typo
cmd instanciation from within a callback

This ensures that calls to commands.commandfactory
are done just before these are applied:
In command sequences, some previous cmd might have changed
the mode, which in turn influences the commandfactory
as some commandstrings are interpreted differently in different modes.

This patch ensures that one command has completed before a next
one gets instantiated.
Also, this adds a global error handler for command sequence deferreds.

cf issue #629
typo in docs

that variable is called *terminal_cmd*, not *terminal_command*
envelope: add a .eml suffix to the temp mail

Add a .eml extension to let $EDITOR known the file as a mail.
added support for custom path completion using an external command
Remove duplicate code to read path_completion_command setting

The instantiation of the appropriate *PathCompleter instance is
now done automatically by the PathCompleter class which will read
the path_completion_command setting, instantiate the good class
and proxies the completion request to the good completer.
make sure we don't use CustomPathCompleter for attachments or threads saving