Switch to Botocore data loader.

This pull request changes Boto 3 to use the Botocore data loader for loading
resource JSON description files instead of the custom loading logic that was
in place. As a result, a couple of things have changed:

* Removed all JSON loading code from Boto 3
* Removed `ResourceFactory.create_class` in favor of `load_from_definition`
* Added Boto 3 resource data path to Botocore's loader
* Added functionality to get the latest resource version
* Implemented `Session.get_available_resources`
* Updated and removed some tests
* Updated docs

Unfortunately, Botocore requires a very specific folder structure, and at the
moment Boto 3 is not using it. Because of this I wrote custom logic to find
resource JSON files and find the latest version, some of which should be
migrated into Botocore in the near future.

cc @jamesls, @kyleknap 
What was the reason for the ``side_effect`` changing over time from False to True. Can you make a comment about it?