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)
By convention, `repr` should return the state of the object. It is the caller's responsibility to deduct the object's uptime from `self.started_utc_timestamp` and `time.time()`