Flat lists of choices can now be passed into Fields and Widgets which take choices

- Added util.normaliseChoices
- Select#renderOptions no longer duck types a String as a source of selected values
  - Tidied up this function
- Updated the errorEqual custom assertion to log differences to console when it's going to fail, as QUnit doesn't provide this information on failure

Closes #12
Removed some more __iter__/util.iterate bumph - it's undocumented and will be going away
Some widgets also take choices