Reset the underway indicator when a CoqStepForwardJob fails

This commit also makes the exception message handling code more robust
Fixed an option encoding error in CoqTopIdeSlaveImpl
Wrap all CoqTopIdeSlave_v20120710 instances in an option handling class

The ideslave protocol handles options in a really strange way -- in
particular, calls to "setoptions" don't count as undo steps, but they can
be undone by "rewind". As a result of this commit, that behaviour has
changed: explicitly-set options are now automatically reconfigured after
calls to "interp" and "rewind"
Added a job and runner for setting Coq options
Added a command for toggling Coq flags

This command has no handler yet, but one will be added shortly
Added a handler for the new Coq flag-toggling command

This handler needs a bit of work -- in particular, it calls coqtop from the
UI thread to get the current state of an option. It's a good start, though
Added menu items for configuring Coq's printing behaviour
Added a simple option cache to the option handling class

This cache is invalidated rather pessimistically -- a bit of optimisation
here would probably go a long way. It makes the new display menu noticeably
snappier, though