(PDB-467) Collapse versioned files for http tests

This patch removes all remaining versioned http test files into shared
unversioned files, so that we may start iterating across versions in the
same file.

Signed-off-by: Ken Barber <ken@bob.sh>
(PDB-467) Create deftestseq and implement it everywhere

This patch creates deftestseq which really is just a combination of deftest
and Ryan's doseqver. This has been implemented across all http tests now
as a standard for iterating across each available API version for that
particular end-point.

All cases of :use have been moved into their relevant :require sections for
all these tests as well, including some other various cleanups.

Signed-off-by: Ken Barber <ken@bob.sh>
Typo in v4/reports.markdown

The alias for the link to the statuses page was incorrect. Fixed.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #974 from kbarber/maint/master/typo-in-v4-reports.md

Typo in v4/reports.markdown
(PDB-467) Convert endpoints to vecs of vecs

Also remove one commented end-point.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #966 from kbarber/ticket/master/pdb-467-merge-versioned-http-tests

Ticket/master/pdb 467 merge versioned http tests
(PDB-657) Query logic refactor

First cut at creating an intermediate query language for PuppetDB. The
initial user query is expanded from the more sugared syntax to a smaller
set of basic operators and subqueries. The query then goes from the
"expanded form" to a query plan and then ultimately down to sql. The
user query is manipulated in the context of a "source query", specific
to each endpoint. This commit supports resources, but will next expand
to the other endpoints.
Merge pull request #976 from senior/ticket/master/pdb-657-query-logic-refactor

(PDB-657) Query logic refactor
(PDB-660) Enable event streaming and provide other streaming cleanups

This provides streaming for the events end-point, thus removing the need for
event-resource-limit setting as well.

Some other cleanups around streaming have been provided also:

* stream-json-results is better documented
* remove-all-environments/remove-environment has been moved into query to
  align with how it is used in src/
* Positioned in-thread transacted query inside produce-body to make it clear
* lots of cases of :use converted to :require
* streamed-query-result no longer returns a function, never really needed to.
  The code is somewhat simpler now.
* munge-result-rows for events has now been moved into query so there is only 1
  place where munging is performed. Same for resources.

Signed-off-by: Ken Barber <ken@bob.sh>
(PDB-660) Throw deprecation warning for 'event-query-limit' and fix a docstring

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #975 from kbarber/ticket/master/pdb-660-events-streaming

(PDB-660) Enable event streaming and provide other streaming cleanups
Allow web app URL prefix to be configured
Support for configurable URL in terminus
(PDB-651) Fix dashboard to be compatible with url prefix
Add deprecation warning to docs for `explicit` metric type strings
(PDB-651) Add docs for url-prefix setting
(PDB-658) Move reports endpoint over to the new query engine

All existing reports functionality works with the new query engine. In
addition to what was previously supported, the following new features
were added once it was moved over:

Allows querying on the following new fields:

puppet_version
report_format
configuration_version
start_time
end_time
receive_time (though not really useful without >, <, <=, >= which has not been done yet)
transaction_uuid

Reports also now supports more of the "standard" query operators such as:

or
~ (regex)
in
not
Merge pull request #977 from senior/ticket/master/pdb-658-moving-reports-to-qe

(PDB-658) Move reports endpoint over to the new query engine
(PDB-660) Turn on streaming for nodes end-point

This turns on streaming for the nodes end-point.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #978 from kbarber/ticket/master/pdb-660-nodes-streaming

(PDB-660) Turn on streaming for nodes end-point