added single code word vector to program model

replaced the temporary code vector in the line info structure with an
offset and size for where the line code is within the single code vector
added to the program model

replaced the QVector of ProgramWord with a ProgramCode class based on
QVector<ProgramWord> with a new insertLine() function to insert an
entire code line into a code vector (because this functionality is not
present in QVector)

modified updateLine() if the line to insert does not have an error to
determine the offset of the line to store into the line info list with
the size of the line, and to insert the line code into the program code

modified the updateError() function to return if the line contains an
error (used to determine if a code line should be inserted into the
program)

updated debugText() to get the offset and size of the line from the new
offset and size variables in the line info list instead of from the
code vector that was removed

the encode function was made private since it is now only used
internally by the program model