Continue work on decorator usage.

Remove the need for wrappers.py now that there is an advanced
decorator provided that can provide all the same features as
the functor wrapper task class. This new decorator is now used
in the tests instead of the previous usage of the functor task
class.
Merge pull request #27 from kchenweijie/master

Fixed pep8 formatting... Finally
Remove more tabs incidents.
Update how the version task functor attribute is found
Merge pull request #28 from harlowja/no-functor-task

Continue work on decorator usage.
Allow for passing in the metadata when creating a task detail entry.
Bring over the nova get_wrapped_function helper and use it.

When searching for args, if the function does not have a '__wrapped__'
attribute, then try to use a more aggressive way of finding the underlying
function that nova provides. Likely this should move to oslo so we don't
have to copy it.
We were not notifying when errors occured so fix that.

Previously we seemed to have forgotten to notify the listener
when a task errored and allowed said listeners to get the reason
why the task failed so fix that and allow for the exception to
be returned back on result fetching and rethrown.
checkpoint commit... about to start messing with things...