more info in SymbolMissing() exception message
test/run.mho: use same root regardless of cwd()
formats.sjs: pass url string (not url structure) to @url.normalize
random.sjs: use portable crypto module instead of /dev/random directly
docs
test/bundle: push more functionality into utils.sjs; add test/<platform>.install gup target which installs the latest HEAD on <platform>
update gup