Add uniqueness validation to Edition version_number

This was not being validated in any way, and we recently ended up with to editions with the same version number for the same artefact.

At the same time as doing this I've tidied up the factories.

See https://www.pivotaltracker.com/story/show/69526008 for more details.