[WIP] Initial work on FileSystemShell and fs.Shell(), fixes #98

I've started on the shell, and this adds `cwd`, `cd`, `touch`, and `exec`.  I need more tests, and to add other commands.

I'd be interested in your thoughts around the format for a .js command that lives in the fs.  I think what I have here is flexible enough to do anything, but you might want other things passed in too.