PlistEditor Functional

The PlistEditor now works well as an easier alternative to a bunch of
subprocess.check_output calls to the defaults command.