update setup.py
reorganise main a bit

this should make it easier to use spy for not-CLI things
fix things