starsha: Text on STDERR doesn't mean we failed

Text on stderr indicating failure causes us to be very fragile to a
lot of things which keep being relatively insignifcant / not really
problems.

This changes the code to just use <base/subprocess.h> directly, which
gives us what we want more concisely than getting the behavior out of
TCorpus::Run.
Merge pull request #66 from cmaloney/misc_cleanup

starsha: Text on STDERR doesn't mean we failed
Added 'tmp_pkg' mechanism to server to allow ws clients to compile arbitrary Orlyscript on the server. This is not fast, nor is it safe. Temporary packages will accumulate on the server and will need to be removed manually.
Added base/json for formatting and parsing.
A large number of small-ish changes to address issues that arose in the code review. Started using base/json, dropped the old-fashioned rand/srand stuff, fixed free-twice bug.
Merge branch 'svr-side-cc' of github.com:JasonL9000/orly into svr-side-cc

Conflicts:
	base/tmp_copy_to_file.h
	orly/server/ws.cc