Python3 changes (detailed below). Provide non-PyObjC option for bplist.

Python3: indentation corrections, print_function, with_statement.
Non-PyObjC: Use plistlib's blist support, if available. Last resort is to
	    use plutil to convert bplist to xml and dump to stdout for
	    parsing by legacy plistlib's xml-only readPlist.