Update TIMEDIFF to handle groupings, using first and last events

### Story ###
- https://www.pivotaltracker.com/story/show/78912202 (measure for testing attached to story)

### Notes ###
- resolved issues with DATETIMEDIFF:
  - updated TIMEDIFF to handle UNIONs/groupings 
  - OBSERV results with Objects are a misuse of DATETIMEDIFF with a PQ comparison within a Measure Observation (DATETIMEDIFF with a PQ comparison == DATEDIFF, which has typically been used as a Boolean expression)
  - missing DATETIMEDIFF clauses are a result of missing aggregators on Measure Observation populations