BUG: Parse uint64 in read_csv
Adds behavior to allow for parsing of `uint64` data in `read_csv`. Also ensures
that they are properly handled along with `NaN` and negative values.

Closes #14983.
## [Current coverage](https://codecov.io/gh/pandas-dev/pandas/pull/15020?src=pr) is 84.77% (diff: 100%)
> Merging [#15020](https://codecov.io/gh/pandas-dev/pandas/pull/15020?src=pr) into [master](https://codecov.io/gh/pandas-dev/pandas/branch/master?src=pr) will not change coverage

```diff
@@             master     #15020   diff @@
==========================================
  Files           145        145          
  Lines         51131      51131          
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
  Hits          43345      43345          
  Misses         7786       7786          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [3662413...d018e38](https://codecov.io/gh/pandas-dev/pandas/compare/366241386282272328333256b6e267a68f8133a4...d018e386034e1c6bc04227cf5c5857e871ffde42?src=pr) pls run a perf check (*maybe* need some additonal asvs) @jreback : Added one benchmark, and performance does not seem impacted significantly (if at all). @jreback : Any other comments about this PR?  Otherwise, seems ready to merge. @gfyoung haven't looked yet. soon. thanks @gfyoung 

my comments are for future code generation. @jreback : Yep, got it.  Thanks!