Update AccessClassLoader.java

Minor performance optimization (avoid call to SecurityManager.checkPermission() inside Method.setAccessible() if the Methos is already accesible)
Solved PermGen memory leak in AccessClassLoader

Solved the PermGen memory leak due to static strong references to the class loaders (and minor performance improvement avoiding call to Method.setAccessible() if unnecessary).
Added AccessClassLoader test case

Test the release of WeakReferences to avoid ofending PermGen liberation on GC
Add support to invoking interfaces in MethodAccess

- Use INVOKEINTERFACE instead of INVOKEVIRTUAL in case of accessed interface types.

- Also, in the method invoke(Object, String, Object...), better suppor for overloaded methods by checking the number of expected arguments.
Added test for MethodAccess to an interface type
Added invoke(Object, Class[], Object...) method

Added a new invoke method that ensures the proper method invocation in the accessed instance, in case of overloadings.
Fix a NullPointerException
Added getReturnTypes() method

Completing the reexistant getMethodNames() and getParameterTypes()
Minor Unit Test fix for JDK 1.6 execution
Removed unused imports
Fix regression in fix for issue #16

ConstructorAccess.get must throw RuntimeException if the no-args constructor is private.

The last commit to this class broke the Kryo unit test FieldSerializerTest.testStdInstantiatorStrategy().

Now it works
Added regression tests

Added tests for all the expected cases of Constructor accesibility to ensure compatibility with Kryo unit tests.
Merge pull request #21 from serverperformance/master

Fixes in AccessClassLoader and MethodAccess