 (PDB-5186) Replace drop-joins assertions with errors
 (PDB-5186) Replace drop-joins assertions with errors

When the query engine throws an AssertionError, a stack trace is
returned by the API, which is not what we want. And additionally, both
assertions were thrown by drop-joins, which will cause the query to fail
entirely. In one case we only want to skip attempting to drop joins.

The assertion that all projections have a set of `:join-deps` is
protected by the whole query also needing to specify that it
`:can-drop-unused-joins?`, but for `reports` we also assoc additional
projections into the query map from pe-puppetdb. That assoc was missing
a :join-deps key resulting in a query map that said it could drop joins,
but not all projections having a set of join dependencies. Replace that
assertion with an ex-info error that will short-circuit the attempt to
drop unused joins and continue to execute the original query.

The second assertion is that every join in the query map be a keyword.
This is a valid reason to fail the entire query because we specify all
the joins ourselves and anything but a keyword there could result in us
dropping a join we actually need. Replace that assertion with an
IllegalArgumentException that will cause the query to fail, but return
an error message rather than a stack trace.

puppetlabs/puppetdb,puppetlabs/puppetdb,puppetlabs/puppetdb,puppetlabs/puppetdb,puppetlabs/puppetdb