Better methods for saved messages.

Most subclasses should only need to customize the message text in getSavedMessageText() but add a few methods to allow subclasses that need more control of the whole process.
One line is simplier than two.
Add an optional getObjectPropertyWidgetMapping() method.

Since most edit pages want to load and save teh same set of properties based on the widgets, add a method that can be used to create the array, and if that array is set us it when loading and updating the object. Should cut down on repeated code, and subclassed methods almost all of the time.
Add convenience methods for all the saved message properties.

It's still faster to overide the getSavedMessage() method if you want to do more than a couple of things, but these should help common cases.
Rename getSavedMessageText() to getSavedMessagePrimaryContent() to be more consistent with other message methods.
Skip checking the data returned from getObjectPropertyWidgetMapping() before assigning.

Both ui and object assigning are type hinted asrrays, so they will safely prevent bad code from breaking things.
Merge pull request #18 from isaacgrant/admin-object-edit-default-properties

Add an optional getObjectPropertyWidgetMapping() method.
Don't bother returning the object from updateObject()

getObject() can always be used by subclasses needing it further.
Merge pull request #19 from isaacgrant/admin-object-edit-missed-cleanup

Don't bother returning the object from updateObject()
Merge pull request #16 from isaacgrant/admin-object-edit-improvements

Better methods for saved messages.