API Custom admin URL

Pull request that follows the short discussion on the mailing list with @chillu here https://groups.google.com/forum/#!topic/silverstripe-dev/gGVRd0wS0U8

This PR goes along with the CMS one here https://github.com/silverstripe/silverstripe-cms/pull/1041
There is probably a few modules that will need updating, not sure which ones yet?

So far still a bit of a work in progress until we are happy with the implementation.

In short, this PR does:
- Use `AdminRootController` as the main class for admin URL configuration etc.
- `AdminRootController.url_base` is the main/only config for custom URL
- This is used during bootstrap to create a `Director.rules` config entry via `AdminRootController::set_admin_route()`
- Remove all other instances of `url_base` configs in other classes
- Makes utility functions and variables available globally:
  - PHP `AdminRootController::adminURL()`
  - SS `$AdminURL`
  - JS `ss.config.adminURL`

To me this seemed like the best approach and made things easier by only having to configure 1 thing once, even though the bootstrap call might not be that elegant? What do you think?

Note: one thing left are `SiteTree.DEFAULTHOMECONTENT` translations that have the admin URL hard-coded, but this might not be an issue?
Using the Director.routes works for me and that leaves us with only one point of config which I would prefer.

Just wondering about keeping the url_base as an override and how would that work? Would this be multiple routes to the same admin (seems a bit weird to me)? Or multiple route to different admin interface?

Extending AdminRootController for multiple admins and a route for each would be enough?