This commit makes a lot of changes:
* Moves the creation of threads into arch/linux in the form of the thread_pool_t class.
* Gets rid of worker_t and makes each of its components standalone.
* Gets rid of cpu_context
* Changes how timers are set
* Gets rid of request_t and changes how btree_fsms find the cache and the request handler
* Makes a server_t that acts as a "master FSM" to organize the entire startup and shutdown process.
* Makes server wait for connections to close before proceeding with shutdown.
* Makes server wait for btree_fsms to finish before closing connections. (Closes #39.)
* Makes net_listener_t nonblocking.
* Changes how the server responds to SIGINT and SIGTERM
* Brings the mock cache up to date