Reference timezone support for expanding events and freebusy generation.

This patch has the needed changes to allow fruux/sabre-dav#548 to be fixed. I also found a few more issues related to expanding that are also fixed, and I just spilled tea all over my keyboard

Todos:

* [x] Unittest for `Sabre\VObject\Property\ICalendar\DateTime::getDateTime()` with $timeZone argument.
* [x] Unittest for `Sabre\VObject\FreeBusyGenerator` taking advantage of the `$timeZone` constructor argument.

cc: @armin-hackmann