Use more specific check for ActiveSupport timezone support

Just checking for ActiveSupport isn't enough.  Some libraries
define the top level ActiveSupport module, that doesn't mean
that the classes you need to use exist.
Adapt ActiveSupport::TimeWithZone to fix multi_property arrayification
More descriptive error for unparseable DateTime

Alters the error raised when a DateTime cannot be parsed to include the
unparseable value in order to help track down the source of the problem.
Bump to version 2.2.1
Failing test for unexpected alarm behaviour
Add a method to check for component presence
Document the new #has_alarm? method.

A #has_#{component}? method was added for all Components. The Readme change documents it for alarms.
Fixes icalendar/icalendar#105 - add examples / specs to avoid confusion