Add support for timestamp inequality queries for resource events

This commit adds basic support for timestamp inequality queries
against resource events.  It also add support for the 'and' operator,
which allows you to build date range queries that include both
a start and an end time.
Add basic 'limit' functionality
Docstrings for recently added functions
Add tests for event timestamp queries via HTTP
Add an `event-query-limit` setting, like `resource-query-limit`

This commit adds a setting called `event-query-limit`.  If a
resource event query would return more results than the value
specified by this setting, we bail and return an error.  This
is largely a safeguard against accidental OOMs, and a stop-gap
until we have support for paging results.
Allow override of `event-query-limit` via query parameter

After discussing with Nick and Ruth, we determined that there will
probably be some Burgundy use cases where the PuppetDB-wide
configuration setting for `event-query-limit` may not match up
with the needs of Burgundy.  (e.g., when we add support for
"group by" and filtering the list of returned fields, we should
be able to handle a much larger number or result rows than we
will for the default event query path.

This commit simply allows you to pass in an extra query parameter,
`limit`, which will override the value from the configuration file.
Add acceptance test for basic report timestamp queries
Add documentation for the new event timestamp query functionality
Add support for basic equality queries against reports
Add support for "or" queries against resource events
Add `certname` to output of event queries
Add support for querying events by `certname`
Add tests for 'and' queries
Update release notes for 1.2.0
Add support for 'NOT' queries

This commit adds support for (and tests for) 'NOT' queries.

There were a few minor complications due to the fact that SQL treats
NULL specially when used with boolean operations, but the solution
we arrived at seems to work fine for both Postgres and HSQL.
(#19349) puppetdb-ssl-setup should be choosey when it changes things

This patch modifies puppetdb-ssl-setup so it is more choosey when it changes
items in jetty.ini. In the past it would simply overwrite all settings, but
now you need to supply -f if you want to do this. This means that during
package upgrade we are passive for settings that have already been set, but
we do return warnings to the console so users can make these changes
themselves if they so desire.

However, there are cases where this kind of thing is required - esp. during
first installation so the tool now looks for factory default settings and
modifies those if it finds them. These are in the form:

    # setting = <FOO>

Our tool looks for these especially, assuming they are package defaults and
_will_ modify them regardless of the -f setting. Once they are modified it
shouldn't do it again. This makes sure the 'initial installation' case does
the write thing.

The original jetty.ini file that is laid down now has all the SSL settings
commented out and in the format the tool requires. The fact they are commented
means that if the tool bombs out PuppetDB should still work but with no SSL
settings.

I've made the script more wordy about what it is doing which might help, and
also made sure we backup the old jetty.ini before doing anything. The backup
itself is timestamped, so subsequent runs on a faulty jetty.ini do not
override somethings settings no matter how often it runs. Generally I hate it
when tools don't do this, so I don't want to inflict it on our users.

The scriptage around change settings has been made more generalised so we can
stretch this pattern out to a number of settings if required now.

Acceptance tests have been added as well, to test for idempotency and to also
test the -f functionality.

Signed-off-by: Ken Barber <ken@bob.sh>
(#19476) Correct source path for terminus code in docs

The terminus code in the documentation was referenced using an incorrect path.

This patch makes sure we reference the correct path for installation from
source.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #480 from kbarber/ticket/master/19476-install_from_source_path

(#19476) Correct source path for terminus code in docs
Add -h option and usage to puppetdb-ssl-setup tool

Signed-off-by: Ken Barber <ken@bob.sh>
Clarify default behavior of node-purge-ttl in 1.2 release notes