Factor out intervals-dependent code
Better error handling

DocumentMatches now has a list of MatchError objects that will report any
Exceptions encountered during monitoring.  This guards against 'poison' queries
early in the monitor's index that would prevent any subsequent queries being
run.

Fixes #1
Add javadocs