Merge pull request #38 from mbartosch/develop

change to / during server startup
Remove OpenXPKI::Exception from conditions as it is incompatible with new Workflow

The new upstream workflow conditions crash when a condition throws an exception.
This patch replaces them with the correct behaviour (raise condition_error).
Remaining Exceptions are real problems and not evaluation errors and must remain!
Add auto_revoke flag in revocation workflow and improve qatests
New notification system with SMTP and basic RT integration

Rewrite of the notification system, complete redesign of the handler
logic but keeps the interface (mostly) untouched.
Introduces two SMTP deivery handlers to send plain or html enabled mail.
RT was tested against a RT4 demo install, might need some improvement for
real world usage.
Extend SMTP notifier to use inline images, merge both SMTP classes

The former SMTP_HTML is merged into the SMTP, HTML mode can be enabled
using a config flag. If MIME::Lite is missing, the notifier degrades
silently to plain text mode.
Remove Session Token from Url

remove the session id from the url parameters, falls back to the
cookie based session system.
NOTE: Requires disabling the XSRF attack detection as this relies on
the session token being present. This should be re-enabled using e.g.
a second token.
Extend Notification handler to accept additional vars from context
Fix session handling on binary requests
Some small fixes
First draft XML export workflow
Rewrite SMTP Notifier to use MIME::Tools (instead MIME::Lite)
Add API call for sending notification, add testmail for smtp

The api method send_notifcation allows for triggering the notification
backend to send a preconfigured notification. A testmail is included in
the config set to allow easy testing of the smtp setup.
Add a first draft oft openxpkicli binary as simple command interface

The openxpkicli offers a simple interface to the openxpki api to execute
arbitrary commands. Needs further testing and improvement.
See perldoc for usage details.
Refactoring of Workflow Factory to match the patched upstream version

Replace the workaround of the wrapped workflow class by the features
invented by our upstream patch on Workflow.pm.
There is still a bug in 1.35_1 upstream so we depend on the 1.36 which
will hopefully include the necessary fix.
Add autofail option to workflow activity, add some more docs on workflow

The action definition within the workflow description accepts the flag
autofail="yes" which causes the workflow to be moved to the FAILURE
state and marked as finished.
Terminate watchdog if main server crashed (+ minor SMTP fix)

Fixes #25
Complete code for autodiscovery of token configs #24

Move the inheriting config to a new method in OXI::Config
Implement resolving of aliases to group names and using it to fetch the
token config based on groups.
Preliminary fix for issue #27, needs testing with nCipher engine settings
Fix config layer switching for array call patterns

The config layer accepts the path spec as arrayref which was missing in
the routing code for system/realm detection.
Fix issues in x509 handlers