mkKeyTypeDec for primary keys

primary key gets prefixed similar to other records
PrimaryKey { primaryKeyField1 ::

also use FieldDef for primaryFields