Failing test for replanning on multiple invocations for java methods.
JavaInstanceLinkStrategy should guard against the object instance rather than the DynamicMethod.
Merge branch 'aggressive-replan'
Revert "Merge branch 'aggressive-replan'"

This reverts commit 63d6f5517ed3d02f83b69baed05860f814e2d7fd, reversing
changes made to 6ea4d8201f7dd68b9d8f471c92f12a96f6b208fc.
Failing test for replanning on multiple invocations for java methods.
JavaInstanceLinkStrategy should guard against the object instance rather than the DynamicMethod.
Removed change for BoundMethod.
add one more instance guard test
Merge branch 'aggressive-replan'
Use method names in linkCall callGuards

This fixes a bug where we were matching up method invocations based
solely on class and argument types without paying attention to the
name of the method being called.
Introduce the concept of array coercion (DYNJS-118)

If no regular coercions match, we now check if the argument is an
array and if so attempt to apply the new array coercions, which
essentially consists of iterating over every element of the array and
making sure its type is compatible with the needed array's element type.
Use method names in java class linkCall callGuards as well

This also adds a test for java instance and java class method calls to
JavaLinkStrategyTest to verify the callGuards do the right thing when
multiple methods have the same parameter signature.
Rework array coercion to handle primitive types as well