Convert to Express4

Finally got around to updating this to use Express 4.x. I took this as an opportunity to pretty much rewrite the entire application, so it should be much easier to read/understand/contribute.