jeff/feature-answer-pool

@nparlante

Creating pull request for the "answer pool" feature on multiple choice questions.

This allows the author to have many choices to their multiple choice questions (some correct and some incorrect) and specify how many choices to display to the student. If you choose n choices, the student will see 1 correct choice and (n-1) incorrect choices, randomly selected from your list of choices and shuffled so that the order of choices the student sees is random.

To try out, you set up a multiple choice problem with attribute `answer-pool` set to the number of choices you want. Then, you can provide multiple solution explanations within a `<solutionset>` or just have one solution explanation for all correct choices by including only one `<solution>` without a `<solutionset>` (see example 2 below). 

The explanation-id attributes match a `<choice>` to a corresponding `<solution>`, which is only necessary when you have multiple `<solution>` elements. You can add several `<multiplechoiceresponse>` elements to a problem if you'd like, and if you want a different combination of choices on repeated attempts, be sure in the problem's settings to set "Randomization" to "Always".

Example XML:

```
<problem>
    <p>What is the correct answer?</p>
    <multiplechoiceresponse answer-pool="4">
      <choicegroup type="MultipleChoice">
        <choice correct="false">wrong-1</choice>
        <choice correct="false">wrong-2</choice>
        <choice correct="true" explanation-id="solution1">correct-1</choice>
        <choice correct="false">wrong-3</choice>
        <choice correct="false">wrong-4</choice>
        <choice correct="true" explanation-id="solution2">correct-2</choice>
      </choicegroup>
    </multiplechoiceresponse>

    <solutionset>
        <solution explanation-id="solution1">
        <div class="detailed-solution">
            <p>Explanation</p>
            <p>This is the 1st solution</p>
            <p>Not much to explain here, sorry!</p>
        </div>
        </solution>

        <solution explanation-id="solution2">
        <div class="detailed-solution">
            <p>Explanation</p>
            <p>This is the 2nd solution</p>
        </div>
        </solution>
    </solutionset>
</problem>
```

or without a `<solutionset>`:

```
<problem>
  <p>What is the correct answer?</p>
  <multiplechoiceresponse answer-pool="4">
    <choicegroup type="MultipleChoice">
      <choice correct="false">wrong-1</choice>
      <choice correct="false">wrong-2</choice>
      <choice correct="true">correct-1</choice>
      <choice correct="false">wrong-3</choice>
      <choice correct="false">wrong-4</choice>
      <choice correct="true">correct-2</choice>
    </choicegroup>
  </multiplechoiceresponse>

  <solution>
  <div class="detailed-solution">
      <p>Explanation</p>
      <p>This is the solution</p>
      <p>Not much to explain here, sorry!</p>
  </div>
  </solution>
</problem>
```