Initial version of refactored and isolated "show" functionality
Unit tests for "show" functionality
Fix some variable scoping
Integration tests for "show" functionality
This will never be the case now

As we are now using a two step parse and then object retrieval there is
no reason to check the values of these variables in the constructor.
Fix a typo and not recognising a list correctly
Update tests for project-dataset hierarchy
Update tests for project-dataset-image and tag hierarchy
Fix typo and expand explanation
Update tests for tagset-tag, tag and orphaned-image hierarchies
Fix bug in initial logic where Wells have no WellSamples

If we've been requested to show a Well and it has no WellSamples then
we now select the Plate as that's all we can resolve.
Update tests for all screen-plate-well related hierarchies
Update tests to cover illegal values
Move "show" integration test to the right package name
Use correct class name for "show" integration tests

Now that mega collisions with the unit tests are no longer happening we
can standardise these properly.
Update some documentation, comments and style
Propertyify and clean up the API
Update unit tests and location of initial variable
Update fixture documentation
More documentation and scoping changes