Fix #393

Make `Float`s that are equal to `Integer`s produce the same `hashCode`
Add explanatory comment

[none]
Increase efficiency of fix

Checking for `-0.0` is no longer needed.
Merge pull request #394 from pthariensflame/master

Fix #393