Make EventExecutor.shutdownGracefully() return Future

- Also added EventExecutor.terminationFuture()
- Also fixed type signature problem with Future.add/removeListener()
- Related issue: #1389