Parse HTTP response body instead of data

Should work across more Ruby versions
Use JSON instead of PSON to parse reply
Always subqueries from and to same query type
Subquery facts even when in fact mode

Fixes a bug when querying for facts and matching against multiple facts