Use __repr__ instead of __str__

Defining `__repr__` is useful, because consoles like IPython use
it to pretty-print objects.

Python uses `__repr__` to define a default `__str__`, but not the
other way around:
https://docs.python.org/2/reference/datamodel.html#object.__repr__

So this change switches all uses of `__str__` to `__repr__`, to
ensure that users always see reasonable summaries of their data, without
needing to figure out the trick of typing `str(obj)`.
Update changelog
Regenerate netcdf4.c
Merge pull request #291 from shoyer/repr

Use __repr__ instead of __str__