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
Hmm… I guess what I'm saying is that partialUpdate can only not be relied on if `reRender` is used or the same comet is sent down on another page. Is that the situation you're concerned about?

I'm asking because I've used comets in the way you describe and not really run into the issue you're describing, but when I use comets solely for partial updates I always use random names for them, so they're never rendered beyond the initial render. At that point, partial updates should never get discarded wholesale (timing bugs like the other ones you've described notwithstanding).

As for copying—it seems like just refactoring would be an option? `mediumPriority` and `highPriority` are available as handlers for dealing with `partialUpdate` different in a subclass as needed; I believe both are tested before `CometActor`'s internal handling is attempted.