Update admin editors to use new AdminObjectEdit page.
Take advantage of new saved message features in AdminObjectEdit.

Requires https://github.com/silverorange/admin/pull/16
Fix folding.
Only add the promotion to the navbar when it's not a new promotion.
Simplify navbar building.
Use newest set of AdminObjectEdit features.

getSavedMessagePrimaryContent() and getObjectPropertyWidgetMapping(). See https://github.com/silverorange/admin/pull/16 and https://github.com/silverorange/admin/pull/18
Ensure we're not trying to edit the note on a non-existent promotion.
Use the instance dataobjects throughout the admin.

Use $app->getInstance() instead of $app->getInstanceId() and compare using instanceof()
Only build the instance flydown if it's a multiple instance admin. Otherwise set it on save.
s/getObjectPropertyWidgetMapping/getObjectUiValueNames
Fix the method name for checking the promotion.
Fix all the instance checks to be more exacting.

In theory there should never be an instanced site with promotions that don't have an instance set, and they certainly should not be loaded in an instanced admin. So throw an exception if we're in an instanced admin and the promotion's instance does not match the admin's instance or if the promotions instance is null.
make all the classes do the instance checking in it's own method.

This brings Details and Report in line with the various edit pages.
Merge pull request #7 from isaacgrant/admin-edit-updates

Update admin editors to use new AdminObjectEdit page.