Allow passing Arguments object to when/function.apply

I think this is the smallest possible change to allow Arguments instances to be passed into when/function.apply, compared to #387 whose perf implications aren't clear yet.

cc @phated
> This is also to-late for the caller, as arguments was passed in raw form to apply :(

Right, that's the caller's decision.  The reason to slice here is so that `concat` works in `_apply` *if* someone passes in an Arguments object.  This whole file is kind of a mess, honestly ... but it's really only for compat at this stage, and will go away in 4.0 in favor of the newer when.try and when.lift.