Fix correct_ans for Compute() when the result is a constant

Fix `correct_ans` generated by `Compute()` when the computed value is a constant (the correct_ans was incorrectly being set to the constant, not the original string that generated it, so `Compute("sqrt(2)")` would show `1.4142...` rather than `sqrt(2)` as the correct answer.

Also, moved creation of `correct_ans_latex_string` to `Compute()` so it properly corresponds to the correct answer string, and is available immediately.  For answers not created through `Compute()`, move creation of `correct_ans_latex_string` to `cmp()` rather than `cmp_parse()`, since the latter may not be called (e.g., with blank answers), leaving no latex string.  That meant that the correct answer would be displayed as un-formatted text for blank answers, but typeset math when an answer was entered.  Moving the creation of `correction_ans_latex_string` to `cmp()` resolves that problem.