fix eps

This fixes a problem from the changed definition of `eps` in commit a4f9c269873f3f027f4ace92bce99b81a5bf977f so that `eps() = eps(1.0)`, with correct behaviour for `realmin()` and `realmax()`.

Note that due to lack of subnormals, `BigFloat` behaviour is a bit strange, so that `eps(zero(BigFloat)) == realmin(BigFloat)`, and `eps(realmin(BigFloat)) == zero(BigFloat)`, but I don't know what else would be best here.

UPDATE: it may be possible to make this more efficient with some bit-twiddling, but I'll leave that to someone else.