added models, tables, and migrations

It's bettel design to use a `string` instead of a `boolean` - it provides more flexibility in the case we need to add more kinds of memberships later. You should name the column `kind`, since `type` is a special column name in ActiveRecord that has to do with Single Table Inheritance.