Fix #323.

The fix properly handles the URL construction for storage-residing
content without disrupting the share-residing stuff, because the
share-residing stuff is handled with a special case.

I haven't gotten the fakeServer behavior right for the tests, and the
code is tending so much towards functional, rather than unit scope, that
I'm bagging them, for now.  The code is in this branch, for future
reference.