templates: Initial support for on-error()

This implements low-level support for the on-error() setting, making it
possible to set it globally in options{}, and making inheritance work,
so that it can be overridden later on.

Valid values are: drop-message, drop-property and
fallback-to-string (this latter one is only valid for type hinting,
though!), optionally prefixed by "silently-".

Signed-off-by: Gergely Nagy <algernon@balabit.hu>