(PDB-207) Support extract as a top level query operator

Supports a single column or multiple columns, v4 only. Added tests for
facts, events, nodes, reports and resources
There seems to be an issue with subqueries based on numeric values. To illustrate:

curl -X GET http://localhost:8080/v4/facts --data-urlencode 'query=["extract", ["value"], [">","value",1]]'