Refactor code related to default home pages

There now exists an extension point for modules like homepagefordomain and translatable, rather than relying on hacks in core.

Do not merge yet. Will require changes to translatable module. homepagefordomain will break too, but the install statistics indicate that this is not an issue.

Tests will come.