Use a non-delegating class loader to support transforming classes with same name as JRE's built-in classes

Fixes #29
Merge branch
Merge tests
retrolambda/pom.xml
Primitive tests makes sense
Main cleaned up,
Release 1.6.1
Prepare for next development iteration
Improved wording
Code style settings
Release the OSSRH repo and push to GitHub automatically
Code reformat
Refactored code style: tests before their guinea pigs
Refactored DefaultMethodsTest a lot
DefaultMethodsTest: additional test for class hierarchies
DefaultMethodsTest: additional test for bridge methods
InterfaceStaticMethodsTest: method references are handled differently from lambdas (no synthetic lambda method), so have separate tests for each of them
Feature toggle for default methods support
Merge branch 'default-methods'
Java 7 bytecode cannot contain calls to static methods of library interfaces

It'll cause an error already at class loading time.

Example failure:

Caused by: java.lang.VerifyError: Illegal type at constant pool entry 123 in class net.orfjackal.retrolambda.defaultmethods.Helpers
Exception Details:
  Location:
    net/orfjackal/retrolambda/defaultmethods/Helpers.isPrimitive(Lnet/orfjackal/retrolambda/asm/Type;)Z @55: invokestatic
  Reason:
    Constant pool index 123 is invalid
  Bytecode:
    0000000: 1008 bd00 5c59 03b2 0060 5359 04b2 0063
    0000010: 5359 05b2 0066 5359 06b2 0069 5359 07b2
    0000020: 006c 5359 08b2 006f 5359 1006 b200 7253
    0000030: 5910 07b2 0075 53b8 007b 2a59 b600 7f57
    0000040: b800 85b9 0089 0200 b900 8d01 00b6 0092
    0000050: ac

        at net.orfjackal.retrolambda.LambdaUsageBackporter$InvokeDynamicInsnConvertingMethodVisitor.backportLambda(LambdaUsageBackporter.java:170)
        at net.orfjackal.retrolambda.LambdaUsageBackporter$InvokeDynamicInsnConvertingMethodVisitor.visitInvokeDynamicInsn(LambdaUsageBackporter.java:163)
        ...

Where the bytecode is:

Constant pool:
  ...
  #123 = InterfaceMethodref #119.#122     //  java/util/stream/Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;

   public static boolean isPrimitive(org.objectweb.asm.Type);
        ...
        55: invokestatic  #123                // InterfaceMethod java/util/stream/Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;