Optimizations to reduce the number of needless re-serializations

In a single user environment, this will reduce most of the needless re-serialization.  Previously, if the user starred something, then went into the starred list, it would re-write the serialization for the directory even though it was already update from when they called setStarred in the first place.  This code is really only needed for the case where bookmarks/stars are added from a separate device.