Force first_empty for repeatable selects

Also adds basic tests for select fields. Requires #255, so this is a placeholder until that gets merged.

Closes #150.