newline after default text when creating file
Merge branch 'm4burns-fixes' of https://github.com/m4burns/seashell
make program kill write to console after killing program, also fixed typos
fixed Marmoset submit bug
changed the array sorting function call to be the standard cross-browser version
Partially fixed file upload bug

File uploading works, but the browser does not update the project info properly
without reloading the current project.
completed file upload fix
codemirror will switch between c mode, scheme mode, and plain text appropriately
[backend] Fix permissions issue on old files.
[backend] Simpliy directory-hidden?
[backend] Use some-system-path->string instead of path->string.
Hopefully fix an 'Internal Server Error' bug.

Here's what I think is happening:

This exception handler is called when the credentials file does not
exist, since `call-with-output-file` with flag `#:exists 'update` raises
`exn:fail:filesystem?` when its argument path does not exist.

Calling `file-or-directory-permissions` subsequently in the exception
handler raises `exn:fail:filesystem?` again since its argument does not
exist.

This time, the exception propagates out of the `set!` block up to the
level of the enclosing `dynamic-wind`. The exception causes control to
leave the value-thunk, so the post-thunk of the wind is called. Then we
see the Seashell shutdown message in the log followed by an exception
raised by the `delete-file` called at the end of the post-thunk on the
non-existent credentials file.

The exception raised by the `delete-file` quashes the exception that was
in the process of propagating out of the value-thunk since return from
the value-thunk is at the tail of the post-thunk's continuation.

---

This patch makes this exception handler not raise another exception when
the file does not exist. It also fixes several TOCTTOU bugs.