SHELL:
* Printer emulation.
* The print spooling code doesn't respond to Preferences changes yet.
* Copy & Paste.
* File management (cp, rm, mv, mkdir, rmdir).
* For the icons used by simpleserver, how about including them in the bundle?
  That would get rid of the additional build task.
* Interrupting programs doesn't seem to work properly. For example, when you
  try to interrupt the MT.raw test with R/S during DET, the "running"
  annunciator stays on, and I've observed subsequent weirdness including
  crashing.
* Use UIApplication.idleTimerDisabled to prevent the screen from dimming while
  a lengthy operation is in progress.
* Implement "glow" highlight like 42s.

HTTP SERVER:
* Figure out a way to separate the Free42 stuff from the generic HTTP server
  (or application server) stuff.
* I'm currently closing the client socket using shutdown(SHUT_WR), which avoids
  the 'connection reset' mess that was happening with shutdown(SHUT_RDWR) and
  with close(). But is it correct? Am I leaking sockets now?
  UPDATE: It appears to be incorrect, and that I am leaking sockets now; read
  carefully the explanation about 4xx response codes in RFC 2616, section 10.4.
* How about support for web-based mkdir, rmdir, and rm -rf?
* Implement HEAD, and return Last-Modified for all successful requests.
* Implement If-Modified-Since handling in GET and HEAD.
* Request methods OPTIONS, PUT, DELETE, TRACE, and CONNECT should all return
  501 Not Implemented (N.B. RFC 2616 only *requires* GET and HEAD.)
  Any request method other than those and GET, HEAD, and POST, should return
  400 Bad Request. The same should also be returned for any request that cannot
  be parsed at all.
* The server does not seem to handle pathnames with spaces correctly. For
  example, try "/Library/Application Support" on the iPod.
* http_error() should return a nicer response body.
