[WIP] support flexible versioning schemas

:construction:

This PR adds support for the most common versioning schemas, and allows users to 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
Does this even work? Will `v1.11` be greater than `v1.2`?