Infrastructure updates - get_local_path, browse & delete in Spaces, etc

Several infrastructure and miscellaneous updates in one, coming from AIP reingest work but independent of it.

* ```browse``` and ```delete_path``` are now implemented in protocol spaces, instead of in Space or Package, as they are very dependent on the protocol and should be handled by the appropriate space.
* ```full_path``` and ```full_pointer_file_path``` are now ```@property```'s, since that's effectively  what they are
* Added ```get_local_path``` to help work with packages that are not store locally, but need to be worked with locally.  As the name implies, gets a local path for that package - either the actual local path, or by copying it to the SS internal location
* Pipelines store some pipeline API information so they can call pipeline APIs
* ```compress_package``` accepts an algorithm parameter
No, but this is a best guess attempt.  ```Pipeline.remote_name``` defaults to None, and remote calls will not work if it's unset.  However, it can be set by the user - this is just a convenience to set it automatically if possible.