Add ingest-form-level validations

Fixes crash when ingesting and a group exists where a type is set and value
isn't, or value is set and type isn't
Centralize asset valiation and save
Port uploader from old OD system
Update schema.rb

Sadly, everything is modified here because I guess we haven't run
migrations in a while, and the new hash syntax has overwritten the
old syntax everywhere
Add file uploader UI and controller handling
Refactor ingest controller tests

- Extracts upload behavior into shared spec for use by both the create
  and update actions
- Reduces instance variable usage and "before" complexity by using
  `let` on more data
Remove excess URL hits
Remove assertion from click helper

Allows for easier code reuse when expecting form errors
Test file uploads in feature spec
Clean up after tests
Extract @has_upload into a method
Merge pull request #138 from OregonDigital/feature/ingest-form-uploads

Feature/ingest form uploads