Implement generic CLI, basically a complete manage.py substitute