Changes to support additional features in forms

This includes:

- "major blocks", used for mapping a student's major to affiliation, access control, and email recipients
- an adjustment to the inheritance hierarchy, supporting collecting metadata for files (FileBlock now inherits from MetadataBlock)
- email input fields
- an additional property for date fields, allowing blank default values