Improve exception logging

There are several places where we simply log an exception without
any context. This patch adds the exception type to these messages
to improve debugging.
Make decommission asynchronous
Domain Controller deployment

Testing Done:
Performed a mostly-successful deployment of FreeIPA onto a Fedora 21 VM.

(Mostly-successful because there appears to be an ipa-server-install bug preventing successful completion, but that should be irrelevant to this patch).

Reviewed at https://reviewboard-fedoraserver.rhcloud.com/r/63/
Suppress subprocess output with NUL

The logger cannot handle a message with an embedded NUL character,
which may be generated as part of the output from ipa-server-install.

This patch simply suppresses any line from the log that would
result in an error.
rolectl: Fix key option in settings
Better trapping of non-ASCII output on subprocess
Domain Controller: Add decommission routine

Testing Done:
Created and removed a FreeIPA instance successfully.

Reviewed at https://reviewboard-fedoraserver.rhcloud.com/r/74/
r0_0_3-1
r0_0_3-1
Update dev version to 0.0.4
RoleBase: New do_get_dbus_property in roles

- Simplifies the role interface
- Dropped do_get_property. This method is not needed in roles: All properties are handled in RoleBase.do_get_property anyway.
- Role cleanup by dropping "failonthis" setting
Fixed D-Bus compatibility code in DBusRole

- Use get_property and get_dbus_property (non-static).
- Porperties are "name" and "DEFAULTS"
RoleBase: Implement installFirewall, updateFirewall and uninstallFirewall

installFirewall uses the firewall _settings from the role: firewall and firewall_zones and stores the applied settings in _settings per zone and also for the runtime and permanant firewalld environment.

uninstallFirewall uses the fw_changes _setting from the role and removed them from the zones in runtime and permanent firewalld environment, then clears fw_changes and savet it to _settings again.

updateFirewall calls uninstallFirewall and then installFirewall

_check_property now checks ports to be valid.
RoleBase: Fix misuse of self in get_dbus_property
rolectl (re)deploy: New option --settings-file, dropped --set option, fixed redeploy call

- New option --settings-file: store all settings in a json file.
- Dropped --set option for --settings-file. Values like arrays or dicts have
  been very user unfriedly with the --set option.
- The redeploy option was additionally not functional

Fixes https://fedorahosted.org/rolekit/ticket/8
Fixes https://fedorahosted.org/rolekit/ticket/9

Reviewed at https://reviewboard-fedoraserver.rhcloud.com/r/79/
New support for do_check_property

This is needed to be able to check types of role specific properties.

This patch adds the framework to be able to check role specific properties
automatically with the do_check_property method if they are set for example in
a deploy call.
Fix typo

check_type_book() should have been check_type_bool()