Small changes to the way deadlines are managed.

Previously we kept a start + offset. With this change we keep the deadline time
plus a boolean indicating whether the deadline is enabled.

The motivation is to enable push/pop style access to deadlines: code using
deadlines can set a custom deadline, use it, and then restore the previous
configuration.