DecoratedDateTimeField extends BaseDateTimeField,
implementing only the minimum required set of methods. These implemented
methods delegate to a wrapped field.

This design allows new DateTimeField types to be defined that piggyback on
top of another, inheriting all the safe method implementations from
BaseDateTimeField. Should any method require pure delegation to the
wrapped field, simply override and use the provided getWrappedField method.

DecoratedDateTimeField is thread-safe and immutable, and its subclasses must
be as well.