Added setup.py and other build tools like versioneer. Split functionlaity into modules so that new filters are easier to write.