Clean up the new exception heirarchy a bit.
Replacing all use of raw IllegalArgumentException in handlers, Phase 1.