Equivalencies should be passed on more generally

@embray - looking further at `quantity.py`, I noticed that my PR for passing on equivalencies in `q.to()` (#1356) was incomplete: equivalences are also not passed on in `q.si`, `q.cgs`, `q.getitem()`, etc. Before adding boilerplate code in all those, I thought I would check whether it would not make more sense to change `__new__`.  Specifically, I would suggest setting the default in the call sequence to `equivalencies=None`, and then changing this to `value._equivalencies` if value is a Quantity, and to `[]` otherwise. Does this make sense? If so, I'll do a PR (preferably after #1271 is closed, to avoid needless rebasing).