refactor setup.py and entry script

* add requirements to setup.py
* move server script into module and add entrypoint