logging: handle TRACE logs in ColoredFormatter
smart: add post_/pre_ steps

By default theses steps are never reach but can be enabled
in smart implementations.

Just declare a method that return True to enabled the step in
the smart Provide class, eg:

    def do_pre_manage(self):
        return True

If the step return some value, you can define a method to
handle it in the smart Provide class:

    def on_pre_manage(self, data):
        # do stuff
        ...