Split PEFuture/PEPromise into segregated interfaces for producers, async callbacks, and synchronous polling.  Changed the DBResultConsumer.writeCommandExecutor() hierarchy to stop returning (aka enabling) synchronous polling support, callers already pass in an asynchronous callback.
.