HttpExecutionContext should call delegate's prepare.

The HttpExecutionContext used the default implementation of prepare which just returns ```this```, ignoring any work that the delegate ExectutionContext may be doing. In my case I'm configuring Akka to use a custom MessageDispatcher which does some work during prepare which is not used when running Java code.

I wasn't sure the best way to test this; any suggestions for improvement are welcome.

I'd really appreciate it if this could be back ported to 2.2.x and 2.3.x if accepted.
Actually, you don't need to write a new test case, you can just modify the existing test case a bit. All you need to do is remove the `val pec = ec.prepare()` line from the existing test case and then change the code to create the `HttpExecutionContext` from the unprepared `ec`.

If you do that then the `mustExecute(2) { ec =>` code will test:
* that the `ec` is prepared
* that the `execute` method is called twice on the prepared `ec`.

Which is exactly what you want to test.

So all you need to do is update the existing test case so that the test case doesn't call `prepare`. The test will then make sure that the `HttpExecutionContext` calls `prepare` for us.

That also means you can remove this new test case. :)