Lifetime bounds must be purely static.

struct tesla_key is only used to pass dynamic information; lifetime bounding events shouldn't have any!
Pass sunrise, sunset context to event handlers.
Add human-readable description to TESLA lifetime.

This is useful when looking at TESLA traces: *what* lifetime did we just enter?