Openbazaar python launcher

new pull request after 1st round of reviews.
Thanks @Renelvon this has the merged changes from your repo.

(@Renelvon I kept that REVERT commit you put there as I'm not sure I understood what was right or wrong about it, I figured it'd be easier to fix here now)
1. granted sometimes you end up with a lot of nesting, but in my opinion it's nicer to read code which is executed when the right conditions are met, rather than reading a lot of negative clauses. it's a style preference.
2. that'd be very bad design/sloppy code.
3. wish exceptions didn't exist.