#25759 Added support for projects with no data storages defined.
#25759 pc.get_primary_data_root now handles configs with no primary.

The method PipelineConfiguration.get_primary_data_root() now handles the
case when a project doesn't have a primary storage associated (for
example the studio configuraiton in the shotgun desktop). In this case, 
the method raises an exception. 

The path cache has been updated to handle non-project-storage configs by
effectively running in a proxy mode for these configs, meaning that it
is possible to construct a path cache instance despite the fact that the
current path to where the path cache would put its data does not exist.
This approach is so that future 0.15 changes will potentially support
some sort of notion of a path cache despite the existane of a primary
project storage.
Removed an uneccesary convenience method.
Fixed error in sample code.
Fixed an issue where the project preview was displaying mac paths only.
#25759 Context now correctly resolves in a non-storage setup.
context_from_entity now falls back to a sg-api lookup when a primary
storage isn't available (and therefore no path cache lookups can be
made).

Also added a PipelineConfiguration.has_associated_data_roots() method to
indicate if a config has associated data or not.
#25759 Setup project now understands the is-auto flag.