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.
Use AdminObjectEdit for all edit pages.

This requires https://github.com/silverorange/admin/pull/16
Update AdminComponent and AdminSubComponent to use loadByShortname().

I've left the deprecated loadFromShortname(), but since we have so few places to update it, we should kill it in the near future.
Code cleanup and class map everything.

Might as well clean up the files while I have them open.
Use the more verbose admin_component for the variable name.

This is becauscomponent is already defined by the parent class AdminPage for other uses.
Update to use new getObjectPropertyWidgetMapping() method.

Requires https://github.com/silverorange/admin/pull/18
Reflect method name change in Admin.
s/getObjectPropertyWidgetMapping/getObjectUiValueNames