Tidy up OS X versioning and subprocess.Popen code.

- Remove try/except around import calls for "platform.mac_ver" and "distutils.version" as they are not necessary.
- Have assertion of minimum OS X version call usage() with error message instead of raising error (clearer to user)
- Use some "lambda cmd_str: ..." functions for common subprocess.Popen calls to aid readability and re-use.