Further categorize plan exceptions.

* "parse" exceptions are thrown on parse errors.
* "io" exceptions are for File I/O errors.
* "plan" exceptions are for interacting with the plan.