Split versioned models and Version concerns into separate files

With Rails 4.1.0rc1, vestal_versions fails to load because of "Cannot define multiple 'included' blocks for a Concern vestal_versions".

I can see why the tagging and user modules (for the versioned model and the Version class) are in the same files. Unfortunately, the latest ActiveSupport::Concern doesn't allow this organization.

This PR's changes allow vestal_versions to work with Rails 4.1.0.rc1 and the tests pass, but they are illustrative, not a good solution. I think options include: 
  * Submit a PR to Rails changing how ActiveSupport works
  * Organize code by tagging and users. So we'd have tagging/versioned, tagging/version, users/versioned, users/version
  * Organize code by versioned and version. So we'd have versioned/tagging, versioned/users, versions/tagging, versions/users

I'm happy to implement any of these or another, better idea.