Code to define modeltype RM-2380

create a modeltype table used by models and pfts. The table is
initialized with the types already in the models (not pfts). All models
and pfts are associated with a modeltype next.
User can add/edit modeltypes and see the pfts/models associated with it.
make sure name is unique
add formats required for #167
add tag to modeltypes_formats

tag is used in the pecan.xml file.
fix issues in code review
Merge branch 'master' into RM-2380-add-modeltype
renamed model_type back to name

- added links from pft/model back to modelType
- fixed other small issues
fix spacing
updates based on feedback
fix typo
use modeltypes.names instead of modeltype.name
more constraints

- added not null to fields
- removed unknown model type (use model_name instead)
Merge branch 'master' into RM-2380-add-modeltype
Merge branch 'RM-2380-add-modeltype'