Made some of the new mixeval code easier to read.

MixevalQuestionDesc was using its question_id field differently during
different stages of the form processing. This was quite confusing, so
I've added a question_index field that won't be saved and is purely for
tracking which question that descriptor refers to.

Question index refers to the array index of question that you get when
submitting the form. E.g.:

[MixevalQuestion] => Array
        (
            [5] => Array
                (
                    [title] => Likert Question,
                    [instructions] => Likert Instructions,
                    [required] => 1,
                    [mixeval_question_type_id] => 1,
                    [question_num] => 1,
                    [multiplier] => 1,
                ),

            [2] => Array
                (
                    [title] => Paragraph Question,
                    [instructions] => Paragraph Instructions,
                    [required] => 0,
                    [mixeval_question_type_id] => 2,
                    [question_num] => 2,
                ),

            [7] => Array
                (
                    [title] => Sentence Question,
                    [instructions] => Sentence Instructions,
                    [required] => 1,
                    [mixeval_question_type_id] => 3,
                    [question_num] => 3,
                ),

        )

So the Likert Question has a question index of 5. This is how the javascript
side is keeping track of the questions.
Fix mixeval view zero marks calculation.

It wasn't reading the zero mark setting to adjust the marks to start
from 0.

Also made the help text to say the same thing as mixeval add. Wonder if
there's a way to keep consistency between all these views?

Fixed a minor table cell issue where the Likert scales were in differing
sized columns.