Move frozen check into wrappers around direct var-setting for indy
Bump maximum polymorphism at call sites to six.

After some experimentation, I found that on a recent Java 8 build,
our guards are still faster than an inline cache as high as seven
deep polymorphic caching. Adding an eighth target tips the PIC
chain performance above that of the inline cache. To give us some
breathing room, I chose six as the maximum PIC chain length.

This could change for other JVMs or runtimes, so we should do more
experimentation here.

This commit also fixes use of the invokedynamic.maxpoly setting so
it can be the actual chain length rather than the length above
which we'll only chain once more (i.e. maxpoly=3 means chains will
be no more than 3 long).