Angle bounds checking loses too much floating-point precision

As a follow-on to #1006.

The default repr for Angles shows five digits after the decimal point.  Should the default be to use flexible float repr instead?

```
In [46]: a = Angle(359.0, unit=u.deg)
In [48]: a
Out[48]: <Angle 359d00m0.00000s>
```