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.
This'll become outdated as soon as anything changes in the plugins repository (and old data will get written back below). You could probably have the process accept some signal to reload things, but yeah, this is what happens when you don't use a real database. :)