Fixes issue #1 surrounding start/end interval.

Added some checking around the begin/end dates of an interval to
properly filter out crappy dates. Throwing exceptions now when invalid.
Tests updated to reflect as I also broke out interval related ones into
their own TestFixture.