Reworking the function call scheme; the function_wrapper objects that are currently generated have misleading function specs for the operator(). Disabled these operator(); will increase the arity of everything and then add different objects that accurately reflect what is required to properly invoke a function pointer.
Upgraded Apply to take up to 10 arguments and use 10 placeholders. Also added Apply_Environment metafunction to allow other areas more formal access to applying an array of arguments. Added more unit tests for Apply