Comet fixes

This fixes a handful of bugs that when taken together kept things mostly working!

  - Unify lastListenerTime (which was previously always zero) with
    lastListenTime
  - Make lastRenderTime, delta timestamps, and lastListenerTime
    consistent with each other as they are directly compared
  - More accurately track whether any deltas have been sent
  - Pretend initial render happened at creation time to prevent a second
    render call from running on the initial Listen message
  - Rename devMode to alwaysReRenderOnPageLoad
It's actually the initial render that's the problem (although we're also using a random name for the reasons you mention). The comet snippet constructs the comet actor (which includes sending any messages to the actor that have been queued up by `LiftSession.sendCometActorMessage`) and requests an initial render via `AskRender`. If any of those queued messages triggers a partial update (or alternatively if a partial update sneaks in between construction and sending the `AskRender` message [something else we've seen...]), they'll be lost.

Re `partialUpdateStream_?`, the key changes aren't to partial update processing per se, but the response to the `Listen` message and making sure not to clear partial updates in the private `performReRender` method (see d5fecefc for the specific changes).