Adds in changes for stat2.3x question type

Adds support for a new question type(new responsetype and inputtype) XML for new problem is of the form:

```
<problem>
  <startouttext/>
  	You have a list of numbers [1,2,3] . If you remove the 3, the sum:
  <endouttext/>
  <choicetextresponse>
    <radiotextgroup>
      <choice correct="false">Doesnt change by
        <textinput tolerance="0" answer="3"/></choice>
      <choice correct="false">Three
      <textinput tolerance=".3" answer="3"/>Four
        <textinput tolerance=".3" answer="4"/>Five
      <textinput tolerance=".3" answer="5"/></choice>
      <choice correct="true">Goes down</choice>
    </radiotextgroup>
    
  </choicetextresponse>
  <solution>
<div class="detailed-solution">
<p>Explanation</p>

<p> The answer is goes down by 3 </p>
</div>
</solution> 
</problem>
```
In the above code changing "radiotextgroup"  to "checkboxtextgroup" will cause the problem to be created with checkboxes instead of radiobuttons, and allow multiple correct selections.

Textinput elements inside of incorrect choices can specify answers, but that information will be ignored.


Notes: The problem uses a hidden input field to send a json serialized version of the current state of the problem(which checkboxes/radiobuttons are pressed and the current values of the textinputs). This requires deserializing in the template which is less than ideal.

In order to deal with some cross browser problems I ran into, I do not use the "label" html element, and instead use custom javascript and a "mock_label" class to emulate it.

This uses the same numerical comparison as numericalresponse, so it should behave consistently with problems of that type. The show answer behavior is roughly the same as that for multiplechoiceresponse problems.