WIP: Maintain Int64 Precision on Construction
- [X] closes #26259
- [X] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

This is not the final implementation but providing for discussion and feedback. Consideration points are:

 - `_from_sequence_of_strings` was hacked to just return an IntervalArray, which isn't correct. Do we want to potentially pass through a mask to `_from_sequence` -> `integer_array` -> `IntegerArray()` instead? I think there is also a bug when construction the DataFrame correctly which this might fix
 - I'm not super familiar with the IntervalArray tests just yet, but I think I need to add a construction test in `arrays.test_integer` which may either supplement or replace the CSV test herein
 - There appears to be a bug with `tm.assert_frame_equal` and large integers where precision could be lost. This probably applies to all of the `tm.assert_*_equal` functions
Hello @WillAyd! Thanks for opening this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:



* In the file [`pandas/tests/io/parser/test_dtypes.py`](https://github.com/pandas-dev/pandas/blob/8132596b81bbe6b98a8dd5ca5f50305103de6483/pandas/tests/io/parser/test_dtypes.py):

> [Line 529:1](https://github.com/pandas-dev/pandas/blob/8132596b81bbe6b98a8dd5ca5f50305103de6483/pandas/tests/io/parser/test_dtypes.py#L529): [W293](https://duckduckgo.com/?q=pep8%20W293) blank line contains whitespace

 > > unless we have pd.to_numeric construct the Int64 array directly
>
> yes that is a desirable outcome

I agree that is a desirable outcome. However, we will need to think a bit about how to achieve this, as it would be a breaking change, and one probably wants to be able to choose if you get nullable integer array or not.

A keyword to trigger to use nullable ints as output? (not very nice, but can't think directly think of good solutions ..)
 > I agree that is a desirable outcome. However, we will need to think a bit about how to achieve this, as it would be a breaking change, and one probably wants to be able to choose if you get nullable integer array or not.

yes, but a desirable one; i don't think its a big deal to simply change this with an appropriate example in the whatsnew. downcast='integer' and 'unsigned' would simply return Int64/UInt64 arrays; this would only be a breaking change if you had floats previously. @WillAyd can you merge master and update I'll give this another look over next few days Haven't looked at this in a few months - closing to clear up queue