Update DateTime Class

Fix syntax error (missing semicolon on lines 1002, 1015, and 1028).
Update DateTime Class

Fix a logic/flow error where the class was not returning itself after calling some method successfully; as a result exceptions were being thrown when they shouldn't have been.
Update DateTime Class

Fix bug where the incorrect variable was being used, throwing a PHP notice and causing the method to fail.
Update DateTime Class

DocComment changes, nothing major.
Update DateTime Class

Update the position() method to allow for multiple positions to be defined.
Update DateTime Class

Update the name of a variable to stop PHP errors being thrown for an undefined variable.
Update DateTime Class

The method "parent::__construct()" doesn't actually return anything, so create a new instance of itself instead.
Update DateTime Class

Fix incorrectly referenced variable names to prevent PHP errors from happening.
Update Available Options in DateTime Class

Update the DateTime class to allow for three different inclusivity modes: ignored, included and required.

If a rule matches the start date, IGNORED will prevent the start date from being added to the list of occurrences; if the rule matches but INCLUDED is set, the start date will be added to the list of occurrences; however if the rule does not match the start date and REQUIRED is set, an InvalidStartDate exception will be thrown.
Correct Grammar in Comment.
Add New Exception

Add the new InvalidStartDate exception for when the REQUIRED inclusivity option is set, but the rule does not match the start date.
Add Prepare Method

Add a new method called prepare() that will take all the occurences generated by the generate() method and format them to a specific format or return plain DateTime (PHP core version) objects.
Update DateTime Class

The method "parent::__construct()" doesn't return anything so don't bother trying to grab a return value. Instead of holding a start date within a class property, just use the class' instance itself since it extends from PHP's core DateTime class.
Update Composer Configuration

Update the Composer configuration to include the Sami documentation generation tool (a development requirement only).
Add Sami Configuration
Ignore generated documentation files.