[WIP] Add more Yardoc

This is a WIP.  Added documentation for the aggregate API, along with adding some missing specs. 

Please pay attention to the filter documentation.  Filters in general could use some improvements.

More things I'd like to do:
- [ ] Create a time_range API to create a TimeRange object & return it (probably in separate PR)
- [ ] Document aggregate_array after getting comments back on aggregate
does this mean that if we dont have a scope for a subset of lines, we cant filter for it? (what does an example look like w/o a scope?)

Do we expect the users of this to crack open the lines object and define scopes that suit their domains?