Make date and datetime sortable when using Enumberable#sort_by

Fixes issue: comparison of Icalendar::Values::Date with Icalendar::Values::Date failed
Adds 3 tests and fixtures.

Tests:
 - sorting 2 date based events
 - sorting 2 time based events
 - sorting 2 events with disparate types
Use date and date_time #value instead of forcing them to date and date_time

This lets us compare a Date with a DateTime.
Deduplicate code in TZInfo::TimezonePeriod
Eliminate warnings
Tolerate malformed lines when parsing non-strict

Relaxes the strictness of non-strict mode so that badly formed lines are
tolerated enough for the parser to proceed.

Fixes #75
Merge pull request #88 from rochefort/warning

Eliminate warnings
Be consistent with gsub parenthesis
Merge pull request #87 from jnv/tzinfo

Deduplicate code in TZInfo::TimezonePeriod
Merge pull request #91 from onediary/ignore-bad-lines

Tolerate malformed lines when parsing non-strict
Sort dates on string representation to mix date and datetime
Merge branch 'markrickert-sortable-dates'

* markrickert-sortable-dates:
  Sort dates on string representation to mix date and datetime
  Use date and date_time #value instead of forcing them to date and date_time
  Adds 3 tests and fixtures.
  Make date and datetime sortable when using Enumberable#sort_by
Switch to non-strict parsing default
Bump version to 2.2.0