tplaner/When — pull request #19 by pospi (2013-12-12 02:46:05+00:00)
Title: added a method to force the provided start date to the first occurence

I figured this was best implemented as a separate method so that it can be explicitly called if desirable and devs can continue to use their own exception handling otherwise.

also refactored date component extraction logic for reuse