Fix falseyness of hashes/maps.

Hashes and maps are falsey only if they are empty. The current test deemed `QVariantHashes/-Maps` as false if `.toString().isEmpty()`, which is always true on maps/hashes. This patch makes the test use the `QHash::isEmpty()` and `QMap::isEmpty()` instead.

This fixes the "Context" tests in `sections.json` and `inverted.json` (and also by "accident" the "Inverted Section" test in `~lambdas.json`. (I'll fix so that the test doesn't even load cases from `~lambdas.json` in a separate commit.)