improve heuristic for detecting if curried (#36)
* improve heuristic for detecting if curried
This adds a check that ensures it is either a native function or an
attribute set that only has __functor and/or __functionArgs attributes
* add tests for provides with functors