RFC: add BitsFloat abstract type, leverage dispatch for rounding modes

This adds an intermediate abstract type below `FloatingPoint` for floating point bitstypes (which I've termed `BitsFloat`, however it might be better to change this to make it more visually distinct from `BigFloat`). It also changes the behaviour of the rounding mode functions to leverage dispatch, for example:
```julia
# for ordinary floating point types
set_rounding(BitsFloat,RoundUp)
# for BigFloats
set_rounding(BigFloat,RoundUp)
```
It still requires some documentation, there are options for further behaviour:
* `set_rounding(RoundUp)` to change both modes
* `set_rounding(Float64,RoundUp) == set_rounding(BitsFloat,RoundUp)`