Implemented double query to support query ops

parser now handles
a or b or c or d as
(((a or b) or c) or d)

Updated tests accordingly.
Added more functionality to the operatorFactory (it uses the factory
pattern)