Should fix #878.  iterating over a Quantity now returns a generator
which is nice, and a little preferable over relying on ``__getitem__`.
Also fixed ``isiterable()`` to better catch false positives in cases
like Numpy arrays and Quantities, where they implement ``__iter__``, but
it can raise a ``TypeError`` in certain cases.
Use the property.setter method here
Register a few classes as implementing certain built in collection types where appropriate