Added basic settings functionality

While settings can be properly loaded/saved, they are not actually applied;
need to interface with codemirror to apply them.
Merge branch 'master' of https://github.com/cs136/seashell
Replaced any/c with jsexpr?
Fixed contract bug in files.rkt

Needed to require json for jsexpr? predicate
[backend] Stub out directory calls.
Merge branch 'master' of https://github.com/cs136/seashell
Added some support for the settings dialog

Made the tab width option work, and also added a theme option, with several
available themes which come with CodeMirror. Currently, the font size, editor
mode, and expandtab (spaces instead of tabs) options do not work.
Made settings dialog remember current settings
Load user settings when new CM instance is started
[ssl] Contract fixes.
Implemented font size and editor mode in Settings

Removed the option to expand tabs to spaces as it is nontrivial to implement in
codemirror, and is not particularly important.
Made loading settings more fault-tolerant

Now, any config options missing from the settings file will be filled in with
the default values.
Merge branch 'directories'