Quantity behavior strange with strings as values

I noticed some rather confusing behavior in `Quantity` when you provide strings as values- this connects to some of the oddities noted in #949 :
```
>>> q1 = u.Quantity('1', 'km/s')
>>> q1n = u.Quantity(1, 'km/s')
>>> q1 
<Quantity 1 km / s>
>>> q1n
<Quantity 1 km / s>
```
So they look like the same thing, but:
```
>>> q1 == q1n
False
>>> q1 + q1n
 ...
ValueError: Value not scalar compatible or convertable into a float or integer array
>>> q1.value
array('1', 
      dtype='|S1')
>>> q1n.value
1
```
they aren't.

I'm not sure exactly what solution we want for this.  One possibility is to just fail if a string is passed in.  Another option is to auto-convert to a float (or array if commas are present?).  @adrn @mdboom @astrofrog - any opinions?