Improve error handling and logging in server

Add `lifted-base` and start using it to perform exception handling within our monads.

Also add MonadLogger to the server monad and start using it.

Still need to use both of these together to get read of a few `putStr`s in R.N.Server.

Replace a number of functions returning dummy values with `error` calls instead.