C++ server code

Latest master merged in. We should discuss the layout of the code.
All normal URIs and REST URIs go through the second else if. The handle_uri function returns whether it serviced the URI or not (it did if it was REST, not otherwise). Mongoose has 5 or so different request types (IIRC from their docs).

MG_AUTH is first sent by a client upon first connecting. It lets the client know if it can access resources. When you get a forbidden error is when authentication failed. In our case, right now it's coded to always return true, or just say that whomever connected to the server is authenticated.