In Cyclone's fetchBare(), the content type wasn't correct, and the
status line should be "Internal Server Error", not just "Error". In
the main request handler, I added similar error handling, just in case.
By default, paths in Node.js are resolved based upon the current
directory. This is problematic when the server is started from the home
directory or through systemd. This commit ensures static files are read
relative to app.js's path, instead of the current directory.
app.js was originally a stub that imported app.mjs, which is redundant.
This change is split into two commits to preserve Git history for what
is now app.js.