Provides a replacement for DateTime's own createFromFormat function, that provides
more flexible timeZone handling

@param string                $format
@param string                $datetime
@param DateTimeZone|string   $timeZone

@return \CodeIgniter\I18n\Time
@throws \Exception