API: Extract siteconfig out to an external module.

Keep CMSSettingsController as from experience this is a common instance to 'hook' into updates for. Not sure whether to throw a deprecated warning if people try to add_extension to it. That's probably the most useful approach.

Site config is now at https://github.com/silverstripe/silverstripe-siteconfig