Function pointer form of arrfunc from functor working
Don't need to deref function pointer to use it
Massage the make_functor_arrfunc macro metaprogramming code

Move complicated bits into individual macros, so the macros
defining the main code don't have complicated macro
metaprogramming in them.

Make the functor type a template parameter, to be able to
reuse the code across multiple function object types.
Restructure the functor_arrfunc code to handle return via ref param
Put the creation of ndt::type from the functor types in a macro
Change PP ARG_RANGE with typename to TYPENAME_RANGE
Fix memory leak
Rename the ARG_RANGE to ARGRANGE to distinguish it

from other RANGE PP metafunctions that always return lists
Move the functor arrfunc PP macros into the PP library
Transfer the funcrefret tests from elwise to functor_arrfunc
Implement functor operator() arrfunc wrapper
Change simple example to a functor_arrfunc call
Transfer callretres test from elwise to functor_arrfunc
Add callrefres case + tests from elwise
Temporarily disable the is_suitable_input metafunction
Disable lambda functor test on clang

clang appears to have a bug: it generates lambda function
objects that do not have a copy constructor. Works fine in
MSVC and gcc, and cppreference indicates there should be
a copy constructor implicitly created according to normal
rules for that kind of thing
Merge pull request #95 from mwiebe/arrfunc_from_functor

Create arrfunc from function pointer or functor