Create a clone from an existing edition

Users will need to create new editions from archived/published
editions. Use the *.clone method to simplify a lot of this and make
sure we're given a unique BSON id in return.
When cloning editions, increment version_number

As we're essentially creating a new version of an edition, make sure
we increment the version number using the existing records in the database.
Enable cloning of existing editions through controller
Hook up UI for creating new editions from archived/published editions
Remove extra newline
Refactor build_new_edition_as and remove build_new_edition_from
Use a POST request on the create action instead of GET for clones

Don't clone using GET requests as they shouldn't be used for
side-effects. Instead repurpose the create action and trigger it using
JavaScript.

The reason JavaScript is used is because we can't nest multiple forms
safely across different browsers without resorting to various hacks.
Instead we keep the JavaScript-triggered form outside of the current
forms scope and provide all of the data that it requires to work on
rendering the view.
No need to set this ID anymore
Refactor link_to use to be on a single line
Use existing methods for building out edition clones

Don't use Ruby's *.clone method as it'll do a deep-copy. Instead use
our model's build_clone method.
Use the edition version number instead of the BSON id

This simplifies the Country class and makes sure that it only ever
builds clones for editions that exist under it's slug rather than any
edition BSON id that it gets passed as a parameter.
Simplify test case by mocking out models

No need to test the models so mock out how they're accessed.
Test that we receive the correct parameters

We expect a specific set of method params to be used here, so test them.
Merge remote branch 'origin/draft-from-archived-or-published-edition'