BUG: issues with hash-function for Float64HashTable (GH21866)
The following issues

   1)  hash(0.0) != hash(-0.0)
   2)  hash(x) != hash(y) for different x,y which are nans

are solved by setting:

   1) hash(-0.0):=hash(0.0)
   2) hash(x):=hash(np.nan) for every x which is nan

- [x] closes #21866
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Test failure appears unrelated.  Can you push again to re-run it? # [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/21904?src=pr&el=h1) Report
> Merging [#21904](https://codecov.io/gh/pandas-dev/pandas/pull/21904?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/322dbf4f812f47d4eaee5d8afa10e17acf6dbc67?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/21904/graphs/tree.svg?width=650&height=150&src=pr&token=eZ4WkYLtcO)](https://codecov.io/gh/pandas-dev/pandas/pull/21904?src=pr&el=tree)

```diff
@@           Coverage Diff           @@
##           master   #21904   +/-   ##
=======================================
  Coverage   91.99%   91.99%           
=======================================
  Files         167      167           
  Lines       50578    50578           
=======================================
  Hits        46530    46530           
  Misses       4048     4048
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.4% <ø> (ø)` | :arrow_up: |
| #single | `42.17% <ø> (ø)` | :arrow_up: |


------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/21904?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/21904?src=pr&el=footer). Last update [322dbf4...124b095](https://codecov.io/gh/pandas-dev/pandas/pull/21904?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 can you run an asv and report any anomalies @jbrockmendel  No, it was a problem in the one of the added test cases: somewhat naively 16GB memory were reserved (but not committed!), yet obviously different operating systems with different resources reacts differently to such a request.

It is a little bit strange, that the testing just died and didn't recover from that...

I removed these silly tests and now it looks better (at least it is clear, what goes wrong). @jreback Done. @jbrockmendel any comments? if ok pls merge. @realead good job catching a subtle bug.  Thanks for taking point on this.