Streaming fact queries

This extends the benefits of streamed resource queries to facts. This is
especially helpful for users with a large number of nodes and/or very
large custom facts; previously, a query for all facts would blow out the
heap and take down PuppetDB.