Java 8 Lambdas support

Almost all the code is in custom classes (`SparkJ8` and `SparkJ8C`) to keep the modifications outside the core.

Two options to use lambdas: `(Route, Request, Response) -> Object` or `(RouteContext) -> Object` eventually keep only one.

All tests have been copied and adapted. Later it would be better to keep only the important ones.

Tests are failing when all are executed all at the same time, but they work if they are executed one package at a time (spark, sparkj8 and sparkj8c).

Usage examples can be seen in the tests (packages `sparkj8` and `sparkj8c`).

Update the documentation with Java 8 examples is pending.

Template support and transformers are also missing.