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
Merge branch '0.3.5-fix-cmdseqs-629'