New indicator dataset model
Fix shebang
Rework indicator API and tests
Raise exc if indicators api returns bad response
Add basic Climate dataset classes
Add utils file
Use pprint for indicator __str__
Update __init__.py __all__
Fix wrong climate GCM definition
Rewrite climate methods to use new dataset objects
New indicator tests
Terser indicator model attr names
Fix multiple location input for get_modelled()
Check climate API method inputs

There aren't many valid codes for the endpoints, so it's to identify an
offending variable on input, rather than working it out from an HTTP
exception.
Handle the indicator api non-ISO region codes
Only return one indicator dataset at a time

- This is easier to work with if you only want one or two datasets, no
  point returning a list or dictionary.

- While we're here, rename to "get_dataset", which I think is more
  descriptive, and noticely different from "get_countries" or
  "get_indicators".
Properly check for bad indicator response
Add some metadata to __init__.py
Use urllib.urlencode for kwargs
Make call_date format consistent