log_utils: fix typo
exception: fix type_error_msg
util and exception: Some reorganization

- added `read_stdout_err`

- custom excepthook is now added conditional on the script executing being called `xylem`

- move exception related utils to `exception` module

- move all exception classes (except XylemError) to according submodules

- change `raise_from` to emulate py3 exception chaining on py2

- introduce `exc_to_str` helper, which works together with `raise_from`
  to emulate py3 chained-exception printing; use this in custom excepthook
Some more absolute imports.
plugin_utils: name verification and plugin disabling

- add customizable verification to plugin classes

- introduce plugin disabling; new settings/argument `disabled_plugins/os`,
  `--disable-os-plugins`, etc
os_support: refactor and options parsing

- Move OSBase to separate file

- Implement options as properties and use config_utils to describe and parse
  options

- small refactor for OSSupport
Add Xubuntu OS plugin to showcase derivative OS with matching version.
config_utils: coerce_config_dict now has `copy` option
installers: some refactor

- Implement options as properties

- small refactor for InstallerContext
installers: Make pip additional installer for every platform
resolve: some updates to latest code changes (WIP)
Update units test to code changes and reorganize to execute in order.