Invoker builders that do not require invalidation

The resulting method handles gracefuly adapt to property values, resulting in no need for call-site
level invalidation.

First step towards a simpler and invalidation-free method dispatch on dynamic objects.
Check for types with no arguments
Plugging the new dispatch (in progress)

Here, it fails because setter-style methods do not return
the receiver.
Return the receiver on setter-style methods
Frozen dynamic object mutation check

We are now all green in tests, time to remove some code.
Do not try to invoke handles when types mismatch

When calling a getter or setter style method and the property is a method handle, the invocation is
not made when types mismatch. In such cases a getter-style invocation returns the method handle, and
a setter-style one just updates the entry.

This is also an improvement over the previous implementation since it does not throw exceptions and
opens a broader usage scope.
Cleanups in DynamicObject
More test coverage
Shortcut copy and mixin operations
Cleanups in MethodInvocationSupport
Javadocs
Dynamic objects benchmark
Java reference
Java with loop boxing variant
Add an explicit null-check
invoker(name, type) is a special method
Documentation updates
Minor tweaks
Renamings
Merge pull request #64 from jponge/wip/dynamic-object-performance

Dynamic object performance improvements