Let `string * unit` return a `Unit` instead of a `Quantity`

Currently, `unit*string` and `string*unit` behave differently:
```
In [13]: u.Unit("15 km")*"km"
Out[13]: Unit("15 km2")

In [14]: "km"*u.Unit("15 km")
Out[14]: <Quantity 1 15 km2>
```
The present PR makes this symmetric, which I think is more logical (but I don't know what use case was foreseen... no test is affected by the suggested change).

Note: this change is triggered by the interesting issues raised by a perhaps silly effort to introduce the "%" unit (scaled dimensionless units were not really foreseen... see also #1161).