This part induces a subtle but possibly important change.  In the current master, the following holds:
```
q = 4 * u.degree
q2 = Quantity(q, copy=False)
assert not q is q2
```
That is, making a new `Quantity` with copy=False, you get a new *object*, although its actual array buffer is the same.  With this change, the two *objects* are the same - e.g., the above should instead end with ``assert q is q2``.

It's not clear that this matters in any use case we have, but it a potentially important change.  FWIW, the new behavior (if this is merged) is *more* consistent with numpy.  That is, ``np.array(a, copy=False) is a`` is True if `a` is a numpy array.  So I'm +1 for this change, but it would be great if you would add a test to make sure this stays true in the future (I guess just taking my snippet above would do the trick)