Ongoing TimeInterval refactoring.

This change mostly modifies the contructor functions to take an `options` object.