program: made program model sole owner of error list

program now sends signals for changes in the error list (insert, change,
or remove) to the edit box, which maintains the extra selections list
(that parallels the error list and used to highlight the errors), and
sends a signal when the changes to the error list have been completed

moved functionality for finding the next or previous error from the edit
box to the program model, and the program model handles the error in the
current line being edited (moving column of error or removing error)
when requested from the edit box

during the initial loading of the program text into the edit box, the
text cursor is not valid so error items are saved temporarily until the
text cursor does become valid

the error list now only keeps track of when the list has changed, not
the start and end indexes of the change (which are no longer needed),
the has changed access function clears the flag once it is read

the cursor changed signal now contains the message to display instead of
the status bar update slot having to retreive the message