Migrate Boto to JSON-powered endpoints

This should make overriding/extending the regions/endpoints Boto has available much easier. This doesn't change what gets returned from the regions() method, so back-compat should be maintained.

Review please (for real this time)? @danielgtaylor @garnaat