Java 8 lambda step definitions. Closes #738, #767.

Squashed commit of the following:

commit a50a5a7d7c34f679fffc1396885b65038c904a24
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Fri Dec 12 12:48:11 2014 +0000

    Re-register stepdefs for each scenario in Java8

commit aa5ce2b68201a631eda13c10e6a5a12c03b9d64a
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Dec 11 13:28:28 2014 +0000

    Failing test for java8 state isolation

commit d8cce7ba0ad4ae80fe50b0aa2d6d0847fbb12532
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Dec 11 13:23:31 2014 +0000

    Clean up

commit ef1cf06cbe9aa2449caef1b45b1a1fdd132e945f
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Dec 11 12:07:04 2014 +0000

    Clean up the .io package

commit c38de32f10c015ab628664ea50e5505ad21a0771
Merge: 461beb9 cce054f
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Tue Dec 9 15:49:35 2014 +0000

    Merge branch 'master' into java8

commit 461beb9cb106e90f7a166f8097f8b50baba256a6
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Tue Dec 9 15:48:47 2014 +0000

    More robust lookup of memberRef. Thanks @danielbodart. Ref #738

commit af0844e67dddd03c33541c317cc84446e547a38b
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Oct 30 13:14:39 2014 +0000

    [maven-release-plugin] prepare for next development iteration

commit 9a3bdedeb37c21845caa14c8f2eaa14ddc4002ac
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Oct 30 13:14:33 2014 +0000

    [maven-release-plugin] prepare release v1.2.0

commit 9e00d6d693730558d83b986fd96ad7ca866dd913
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Oct 30 13:05:30 2014 +0000

    Fix stupid javadoc errors that failed the build

commit 51117d01f998a7770fc1a3eb0944e57625831477
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Oct 30 12:36:32 2014 +0000

    Bump versions and misc cleanup

commit 8c0e4f177c5b38018c842b9e96f5217a7e336acd
Author: Björn Rasmusson <B.Rasmusson@computer.org>
Date:   Fri Oct 31 21:30:13 2014 +0100

    Update the java8 module to version 1.2.1-SNAPSHOT

    All other modules are updated when merged to master.

commit 363642a1f68e3d4effdc3ee85a870bac2dc44138
Author: Björn Rasmusson <B.Rasmusson@computer.org>
Date:   Fri Oct 31 20:05:52 2014 +0100

    Create the java8 profile, remove @FunctionalInterface from java

    Move the java8 module to a separate maven profile. Remove the
    @FunctionalInterface annotation from the java module so it build on
    java7. Add a java8 job to the Travis configuration to build the java8
    module.

commit 9b5e9c0ffce5fcc5d1683d7b4ef7f30c335747a4
Merge: 111e6f2 834f2bd
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Oct 30 11:25:54 2014 +0000

    Merge branch 'master' into java8

commit 111e6f2c290dca71ad2ffd4dcb7fec14727bab7f
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Tue Sep 2 12:42:42 2014 +0100

    Generate more methods so we don't need casting in the lambda DSL

commit 1fa81c114a5cc522aaa133cb0c8e7019eda8a443
Merge: 0f518b1 8e232b4
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Tue Sep 2 11:03:18 2014 +0100

    Merge branch 'master' into java8

commit 0f518b1323c2036688aa10a127cb4a9f49a4f3dd
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Tue Sep 2 09:38:20 2014 +0100

    Add Java8 hooks

commit e9375f11d6d32aad29017749b088459cbaaf3836
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Tue Sep 2 08:00:49 2014 +0100

    Use generics for Java8 lamdas. Use @danielbodart's hack

commit 3c158688604f28e871b0a129c26f98ddb142d90a
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Mon Sep 1 13:09:42 2014 +0100

    More work on Java8

commit 48f4ba53437c4ebf68c6bbe3bd568a643ce2319d
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Sun Aug 31 13:57:57 2014 +0100

    Java8 DSL, based on work by @rmannibucau. WIP.