Create a Procedure model and an example Page model

Page only contains a foreign key to a procedure for now.

Using this as a working branch and doing this in multiple pull requests.
Any reason why this should be nullable? I would think we'd generate this on creation or something. Don't feel too strongly either way, though.