Core functionality complete

The prefsutil program lets you read, write or delete individual plist items from the command line. It's sort of one step easier than vi-editing plist XML files by hand.

The only significant change to Preferences.py was keeping it from writing out an empty plist file when a new, empty Preferences object is instantiated. Now it waits for a key/value pair to be added before writing anything to disk.