Handle 6 or more arguments to StateSetter.

In some cases I want to pass more than 6 arguments
but I can not. This change uses the optimized code path for most people
however it falls back to apply to handle the rare use case of many
arguments, instead of just silently failing.
sounds good to me, as you know there is a perf optimization for call vs apply, but if you are cool with apply then so am I :)