Validation check for duplicate criteria and options

Add validation rules to disallow:
* Duplicate criteria names.
* Duplicate option names within a criterion.

Duplicates names are causing problems because we use the names to generate CSS ID's on the client side.  If we have two radio groups with the same CSS ID, the browser will assume they are part of the same radio group, which means you can select only one option from among all criteria with the same name.

In addition, the client sends an "options selected" dict to the server that looks like:
```
{
    Ideas: 'Fair',
    Content: 'Good'
}
```
which could get messed up by duplicate criteria/option names.

@stephensanchez