Use `user-error' instead of `error'.

Function `user-error' is new in GNU Emacs 24.3.  A fallback to `error'
is provided for older version.  It is supposed to be used in case of an
incorrect manipulation instead of a real error.  GNU Emacs will not
enter the debugger for a `user-error' even if `debug-on-error' in
enabled.  Which makes life a lot easier for us elisp developers.

Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Adapted-by: Jonas Bernoulli <jonas@bernoul.li>

(Don't change `magit-key-mode.el' to avoid merge conflics, fix
a whitespace error, fix typo in commit summary, and keep using
`concat' to build long messages.)
Merge branch 'pr/user-error'