orlyi: Make JumpRunnable catch and rethrow exceptions

Previously it just let them fly by and straight into the fiber
schedule which would result in badness.
util/error.test: Disable the interrupt test because it sometimes gets stuck forever.
base/fd: Move a utility function (Read a file into a string) into fd.h
base: Add function to convert items which have ostream printers to strings.
orlyi websockets: Add a get_source command to grab the source code of a compiled package.
websockets: Always return valid json

This changes the websockets layer to always build a TJson object
rather than the mix of hand formatting we had before. Forces
correctness in terms of emitted JSON.
jhm: Always cleanup the status line / make it live when a test fails.
Removed uses of gcc internal, std::_Tuple_impl and updated Base::Join.
Provided Concat which is equivalent to Join(container, "").
Don't insert  since it results in a '\0' being inserted.
Use <jhm/naming> properly so you don't have to end PackageDir with a '/'
Added base/fs_notifier, a wrapper around inotify.
Started earsing previous events from the fs_notifier cache.
Reading new events over top of the old ones left in the buffer
can lead to the new events looking a little misleading. Erasing
before reading seems safer.
Added const to size_t constants in base/fs_notifier.
Added base/file_lock.h
Added orly/server/bg_importer.
Added TryAddWatch and TryRemoveWatch to Base::TFsNotifier.
Useful for situations where we're racing against another
process which is changing the contants of the file system.
Merge branch 'dir-watch' of github.com:JasonL9000/orly into dir-watch

Conflicts:
	base/fs_notifier.cc
	base/fs_notifier.h