To avoid always requiring an active mapper to connect to, we provide a
default in-process mapper with similar functionality to the sample
server. This is that code. Also included is the client-side
connection mechanism, which determines what server to use and how to
connect to it.