Cherrypy uses a bunch of globals, so use multiprocessing to let us spawn a few that are totally independent.
Added setup.py and other build tools like versioneer. Split functionlaity into modules so that new filters are easier to write.