Page Extensions

This is a continuation of #2001.

Adds a simple way for developers to extend a Page with custom fields.
A PageExtension is a custom model with a OneToOne-Relation to Page (or Title for translatable extensions).
An abstract model class and a Admin base class are provided for Integration. When using this facility,
entries should be added to the cms toolbar to allow users to edit.

Tasklist

 - [x] simple base admin
 - [x] simple base model
 - [x] handle publishing (draft/live)
 - [x] handle related objects with publishing (copy relations)
 - [x] admin popup add/edit distinction and hide+autofill the extended object
 - [x] check permissions
 - [x] fix regressions when extending Title model
 - [ ] ~~allow adding entries with the default add_view as well~~ *later*
 - [ ] ~~admin popup should not contain "save and add another"~~ *later*
 - [ ] ~~simplify toolbar integration for extension developers~~ *general toolbar api enhancement*
 
 - [x] Tests
 - [x] Docs