Client/Server seperation of concerns

Continuing with the cloud-ready trend, moving the HTTP server instantiation into a discrete shell executable file.

Also, NPM has been augmented with an `npm start` command.
Additionally, public assets have been fully moved into `/public`, and path resolution is done via that `path` module instead of string concatenation, allowing for early access to path issues instead of express middleware.

Debug middleware is used for the HTTP server, which disables automatically when the `NODE_ENV` is set to production.