Instead of apply use __call__

Instead of requiring a apply() function just use the
built-in one provided by objects or functions implementing
__call__. Also change how requires/provides may not be found
if functors are just passed in (since functors implement
__call__).
Update with adding a provides and requires decorator for standalone function usage.
Continue work with decorator usage.
Move decorators to new file and update to use better wraps()
Use update instead of overwrite.
Use a function to filter args and add comments.
Allow for turning off auto-extract and add a test.
Remove safe_attr
Merge pull request #21 from harlowja/use-call

Instead of apply() use __call__()
Ensure we handle functor names and resetting correctly.
Fix a few unit tests due to changes.
Reduce test noise.

Instead of printing you can just run nosetests with something
like the following to get the notification of when tests run.

`nosetests -s  --nologcapture -vv`
Add a get many attr/s and join helper functions.
Add a major/minor version.
Add a better task name algorithm.

This one will incorporate the task name and task version
if the task is backed by the expected task class or if
it is not then we will attempt to examine object for a
few attributes and use those instead.
Fix spacing
Merge pull request #23 from harlowja/tests-quiet

Reduce test noise.
Merge pull request #24 from harlowja/task-naming-versions

Task naming versions
Add a setup.cfg and populate it with a default set of nosetests options.
Add flow disassociation and adjust the assocate path