properly read stderr in call_command helper
handle errors of external cmds in MatchSdtoutAddressbook

issue #624
fix: call_cmd properly read return value from...

subprocess.CalledProcessError
introduce CompletionErrors

and use them to handle AddressbookError exceptions
raised by addressbook.lookup
handle CompletionErrors

this makes the CompleteEdit widget handle errors
raised during completions by passing them on to
a 'on_error' callback given to its constructor.

This is then used in UI.prompt.
tune CompleteEdit:

don't insert spaces in case the completions set is unary
(no results found)
docs for CompleteEdit
doc: CompletionErrors
Merge branch '0.3.4-fix-624' into testing