The server is synchronous and single-threaded for now. The server
uses a RequestProcessor to process requests, which, unlike the
previous `fn(&Request) -> Response` server functions, can hold
state and use that state when processing requests.
In short, the server can now be used for real tasks. Multithreading
will be added back in for a future release, the current single-
-threaded code will not perform well under concurrent loads.