Changes after first round of reviews.

 - removed sudo call when using ./env/bin/** on configure.sh
 - os.path.join
 - initArgumentParser renamed to createArgumentParser as it is a factory method.
 - defaults not passed as a method parameter, always generated from get_defaults to guarantee
   the map hasn't been tampered with (immutability ftw)
 - new util.is_mac() to check if we are on macosx. uses platform.uname() for better compatibility.
   didn't code is_linux() nor is_windows() as I don't have a computer to check on the actual values returned
   by platform.uname()
 - assert statement without parens
 - OpenBazaarContext subclasses from object.
 - """ for doc strings.
 - renamed camelCased methods to python_style_names.
 - start_io_loop now on the same thread, no need to make it on another thread and then join.
 - zmq io loop installation moved to openbazaar_daemon, no necessary at the launcher script.