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.
Brings into question if that optimization is worth while implemented as is - it's going to mess up child setters arguments.length