Finished re-writing the JSON loading.

Happy with it, but it would need tests & integration through botocore/aws-cli if we decide to adopt this route.