Use templates to expand paths in resources

Strings like @@shell@@ are expanded to the full checksum and/or name of the package in question, including addition of the relevant host to load from. This allows package to refer to files from other    packages simply.

The shell package needs to be expilictly qualify all of its paths since it is not loaded into its own frame/document but replaces the login page.

Resource URLs now all have the same prefix, and automatically detect whether a checksum or package@host style is in use.
    
They look like this:
    
    /res/xxxxxchecksumyyyyy/path/to/resource.file
    /res/package/path/to/resource.file
    /res/package@host/path/to/resource.file