Add custom iterator class for returning Day objects from DatePeriod
Use IteratorAggregate to work around DatePeriod rewind issues

Each iteration will return a new iterator with a fresh DatePeriod
Use the IteratorAggregate pattern in Week view too
Merge pull request #113 from unl/kabel-four

Use the IteratorAggregate pattern for DatePeriod iteration