Improve parser generation:
    * improve configuration checks,
    * rewrite '_add_parser'method,
Improve argument parsing:
    * move exec function at the module level
    * get and execute post processing function according to the configuration
Use 'format' method for formatting messages
Allow custom types.
Add docstrings.