Added the API as a part of the main website (/api)

The errorhandler returns a json based error response when a 404 occurs
on a url beginning with /api

The api currently has two endpoints:

    /plugins/?id=<id>	lists the plugin matching the id.

			if no id is secified, all plugins are listed

    /download/?id=<id>	serves the plugin specified as a download attachment.

			if no plugin is specified, an error is raised

			if the plugin has multiple files, they are zipped and served.

The api responds in application/json for all output and errors.
Writing the entire file to disk every time a download happens seems like a bad idea. (Another downside to not using a real database.) So, what we want is to write things to disk only when necessary, but since the process containing the api will be constantly running, it's not really clear when that is. It could be something simple, though, like "after X downloads happen, dump json to disk." Which won't be ideal, but seems practical enough for now.