Issues/50 from ical, cleaned up

Cleanup of #226.

Squashed all commits into one, removed non-ical changes, unbroke tests, and committed. Sorry to have lost all the contributors, but it was too unwieldy to rebase. Credits to @skyporter @jgauby @btucker @spra85.

I hope this helps in getting iCal parsing finally merged.
This didn't seem obvious to me before, but I'm pretty sure a simple `Time.parse(value).utc` will get the job done.