Add builder for Timeout rule. Make Timeout rule designed for extension.

The getters in this class could be `private`. Do you think they are needed by potential subclasses?