Step reference format

We need to determine a step reference that will be simple but also reasonably future-proof. There will be a lot of these written in code and we want to make sure they are easy to use and stable.

The user-facing references will need to compile to the internal proto.

    message Reference {
        StepReferenceProtocol protocol = 1;
        string url = 2;
        repeated string path = 3;
        string filename = 4;
        string version = 5;
    }
Edited by Joe Burnett