Upgraded to ASM 5.0_BETA, fixes Java 8 workaround for ASM
Updated copyright year
Fixed incompatibility with JDK 8 build b121, fixes #3

There were multiple breaking changes at play:

- The ClassFileTransformer.transform method now gets className=null as parameter for lambda classes. The class name must be parsed from bytecode.

- The naming pattern of lambda implementation methods was changed from lambda$1 to lambda$invokingMethod$1

- The lambda class now calls private instance methods (i.e. lambda accesses the invoker's instance variables) using the invokespecial instruction, to avoid a subclass accidentally overriding the generated lambda implementation method. But using invokespecial to call methods of other classes is not allowed in bytecode (see the spec http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.invokespecial) and lambdas can get away with it only because JDK 8 relaxes the verification of lambda classes. Our workaround is to change the opcode to invokevirtual at the risk of calling a malicious subclass method.