This commit contains the proposal fix for the epic issue #49 of
adding versions to test cases.

It includes a new database model, and since the application is in
its early design stage, we modified several migrations for being the
simplest (and less hacky-ish) way of doing it.

Two new tables were created, test_case_versions and test_case_step_versions.
Test Plans now are associated to test case versions, as well as executions.

The navigation tree of test plans displays the latest version. The
mutable attributes of test cases and test case steps were moved to its
relevant version tables.

This way, anytime one of these attributes change, a new version is created.

There is, obviously, a lot more of work to be done, before we can state
that versions are fully supported, and for being an epic issue, likely other
parts of the system may have been affected.

Though we plan to keep the backward compatibility, for our team being reduced
and the software not being used in production, we are closing this issue and
moving forward with other issues. In case bugs arise resulting of this issue,
new issues must be filed and we will work our best to fix them.