Redo Query class refactor

Per the discussion in #107, I've redone the Query class refactor off of the current master.

I'll work on extracting the rest of the methods and add that in a second commit.

All tests pass. :rainbow: