User `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? is
enabled.  Which makes life a lot easier for us elisp developers.

Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>