query system reporting improvements + clean up

- removed unnecessary field from FramedDataChannelReader
- removed the query uuid deduplication logic that should no longer
be needed now that QCServer is gone
- split query uuids into session id and query id to clean up the
ui and in-memory handling a bit
- removed a bunch of unused junk from Query.java
- refactored DetailedStatusTask to just get the TaskSourceInfo[].
this makes it easier to re-use for caching the source info to
display during long sorts
- added the callbacks to update the "postOpLines" metric aka.
linesSent to show how many lines have finished all op processing
- added subclass of FramedDataChannelReader to keep track of which
task option ended up getting used (if any)
- used aforementioned data to display which host was selected for
finished queries
- added QueryState enum with a few basic states, and added it to
the UI
- decided to include errored/ cancelled queries in the recently
finished queries tab -- the state flag suffices to tell them apart
- added little function the query.js to allow for wrapping lines
in the query table for path, ops, rops, etc
- split ops and rops into two columns in the query ui
- copied the uuid link to the path column since uuid is now much
smaller and less convenient to click on