Make CartesianPoint and coordinate cartesian accessors Quantities

This updates the `astropy.coordinates.distance.CartesianPoint` class to be a `Quantity`, which has the (intended) side-effect of the ``.x``, ``.y``, and ``.z`` accessors of the coordinates into `Quantities`.  E.g.,
```
>>> c = ICRSCoordinates('00h42m44.3s +41d16m9s', distance=770 *  u.kpc)
>>> c.x
<Quantity 568.712888216568 kpc>
>>> c.y
<Quantity 107.30093596881035 kpc>
>>> c.z
<Quantity 507.8899092486349 kpc>
```

This addresses #1368 (which it will automatically close if merged), brought up by @taldcroft.

It also fixes some issues that slipped in with #1472, and updates the docs to reflect the new usage for both `Distance` and `CartesianPoint`.

There were some subtleties with making it into a quantity, so it might be useful for @mdboom or @astrofrog to glance over the array-related methods now in `CartesianPoint` to make sure I didn't do something silly.