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? @danielgtaylor @garnaat