Add Caption.Move(double beginTime)

Adds Caption.Move, which will move the beginning of the caption to the
specified parameter and the end time to begin+duration.
Document TimelineMouseSelection

Adds comments to TimelineMouseSelection. Renames serveral
TimelineMouseSelection properties.
Add Timestamp.timestampString

Adds Timestamp.timestampString. This field does not get set until the
Timestamp is either set or retrieved as a string. It allows the Timestamp
to calculate the value when needed, but also save it for later so that it
does not have to be unecessarily generated a second time.

Adds documentation to new field, and alters documentation to AsDouble
and AsString properties.
Add bounds checking to Timestamp.AsDouble

Adds checks to make sure that the value is not an invalid double number
such as NaN, Positive Infinity or Negative Infinity.

Adds a Unit Test for timestamp that tests these bounds.