Change structure of TableauSet.

Candidates are now held in a flat list. Grouping by UR is done in a
utils function when needed for normalization.
Add model.py and (minimal) tests.