Changed Java Promise methods to take an ExecutionContext

- Changed default Promise ExecutionContext to use ActorSystem dispatcher
- Make legacy ExecutionContext available just in case
- Better support for preserving context ClassLoader and Http.Context ThreadLocal