Shuffle feature for multiple choice questions

Adds studio and lms support for an option to shuffle
the displayed order of multiple choice questions.
Works by shuffling the xml tree nodes in the problem
during the get_html process. The shuffling uses the problem's seed.
The added syntax for the xml and markdown is documented in the Changelog.
Move shuffle code capa/responsetypes.py

Also moved the shuffling up in time, so the choice_0
numbering is based on the shuffled order.