Add BQL support for HIST in SELECT, SIMULATE, and INFER.

Add optional HIST parsing to parser, e.g. SELECT HIST
Add optional SAVE TO <filename> for those three commands
Move filename into client_dict from results_dict
Clean up engine return values so they are now always dicts