Allow user code supplied to iteratees and enumerators to run in its own ExecutionContext. Second part of #807

Also:
- ExecutionContext arguments are now implicit
- Default iteratee ExecutionContexts are public
- ExecutionContexts are prepared before use