introduce implicit parameter for exec ctx on BodyParser methods

All `BodyParser` methods (`map`, `mapM`, `flatMap`, `flatMapM`,
`validate`, and `validateM`) should take an implicit parameter for
the execution context, rather than using Play’s internal execution
context.
Furthermore, these execution contexts must be carefully prepared with
the `prepare` method, to ensure any user context is captured.
The tests in `play.it.http.parsing.BodyParserSpec` use the
`ExecutionSpecification` trait, following the example of
`play.api.libs.iteratee.IterateesSpec`, to test the use of execution
contexts.

This API change required a few minor fixes: `play.core.j.JavaParsers`
and `play.it.http.parsing.JsonBodyParserSpec`.