Faster and more capable hist

In https://groups.google.com/d/msg/julia-users/pqHDmP-VJEc/BNFnHIIHV_QJ, some limitations of our `hist` function were exposed. This PR should largely fix those problems, but has at least one controversial element.

The first commit includes a version of `hist` specialized for Ranges. The problem is that it's not quite as careful about floating-point roundoff as the original (I expect this difference to cause a Travis failure, so a decision is needed here). For reference, avoiding the keyword argument results in a 3x speed improvement and a huge reduction in memory usage; the version specialized for Ranges only adds a further improvement of 60%. Seems nice to have, but if folks prefer we could get rid of the specialized version.

The second commit makes `hist(x, 200)` work even for `FixedPoint` numbers (for example).