Make model menu customization simpler

This branch changed some hard-coded `Page` model references in `page_menu` template tag and `PageAdmin` to be dynamically resolved. This makes it easy to implement menus for any particular `Page` subclasses without the need to override lots of things manually.

Also added a new setting `PAGE_MENU_EXCLUSIONS` to let user exclude certain models from `PageAdmin`'s "add" menu.