Refactoring UUID into top-level CatalogueElement from PublishedElement with the rationale that:

* All catalogue elements should be uniquely identified, regardless of whether they are versioned or not
* The UUID doesn't *necessarily* convey a versioning, even though the last portion is a set of numbers, so PublishedElement can just add meaning to that segment

Without this refactor the base controller would need to be PublishedElement-based, which doesn't seem desirable.
Adding UUID URL and REST endpoint, so CatalogueElements can be queried through the API and the UI by their UUID.

Suggestions:

* We refer to the UUIDs as UUIDs rather than (GUID|Model Catalogue ID). "Model Catalogue ID" is ambiguous and could refer to either ID...
* Remove the standard integer-based ID from the API and UI. The UUID should be the standard way to address a catalogue element.
Adding .gitignore items so local IntelliJ setups don't get committed by mistake.
Fixing up Published Element spec to not prematurely bump the revision number.

Signed-off-by: Ryan Brooks <ryanbrooksis@gmail.com>
Merge branch 'feature/MC-287_model_guid_url' into develop
Merge pull request #186 from ModelCatalogue/develop

Promote UUID to all CatalogueElement objects & add UUID API and UI endpoints