Use entry point

We are already using setuptools anyway.
Test end-to-end with coverage
Add shebang