Make error handling for ICS parsing more robust
Summary:
Ref T10747. This mostly adds a bunch of test cases for the ICS format syntax errors, and fixes a couple of issues:
- Multiple VCALENDAR sections in one .ics file is legal according to the spec.
- Had some bugs with parsing properties with multiple parameters.
- Tighten up the regexp for property names.
- Show a lot more detail about what went wrong when parsing fails.
Test Plan: Ran unit tests.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T10747
Differential Revision: https://secure.phabricator.com/D16521