Break up ops into handlers.

Better handle blocking calls.  Get rid of usage of the localthread executor.
Remove promise assignment in write.
Clean up imports.
Refactored terminators.

Terminators are now text frames.  Create new result code.
Removed classes that are no longer used.
Added batch sizes for controlling flushing behavior.
Release references to unused messages in the pipeline.
Merge remote-tracking branch 'origin/master' into gremlin-server-refactor
Add a Supplier that throws.
Abort a commit() if it was deemed failure by timeout.

Seems like the eval process shouldn't necessarily be interrupted.  Since the nature of the script being eval'd is unknown trying to kill it might not yield good things or perhaps it won't be killed reliably.  Of course, this means that if enough long-run scripts are eval'd then it will bring gremlin-server to its knees.
Big refactoring effort to streamline writing down the pipeline.

Removed need to have serialization selection in each handler. Pushed most serialization of responses down to the ResponseEncoder.
Forgot to add file on previous commit
Fix broken tests after merge.