[WIP] support flexible versioning schemas

:construction:

This PR adds support for unique versioning schemas. Users can specify a unique schema for each project. See test/models/version_test.rb for a quick overview of how this will work.

#### TODO

- [ ] Validate version uniqueness (scoped to the project)
- [ ] Switch my local dev database from SQLite to MySQL so schema is production ready
- [ ] Write tests for the Release model (some already exist within models/project_test.rb)
- [ ] Write database migration for projects that are using auto-release feature, they need to have a versioning schema, "v{number}"
- [ ] Add seed data and test that the migrations work as expected
You're right about this...we could store the commit date for ordering.