Added support for metadata.
conj and disj now keep a log (in metadata). can also use mark to insert markers in the log.
Removed experimental function `trim`.
Before comprehend returns its final results, we now call `seq`. Thus, we return nil instead of an empty list when there are no results..
Added function since, which summarizes what changes have been made to an indexed set since it was last updated with a given marker.
New macro auto-comprehend. Use like comprehend, but without the expression.

auto-comprehend extracts the variable names from the patterns and returns a sequence of assignments. Each assignment is a map from variable-names-as-keywords to matches values.
- Markers are now stored in the index. No separate log is stored.
- Removed `since`, because a new features makes it obsolete.
- Added a feature I call 'forward comprehension'. Can now do queries and limit results to new matches since a given marker.