BLD: Fix sparse warnings
- [x] split from #13849 (comment)
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`

Because sparse `IntIndex` and `BlockIndex` store value locations as `int32`, its size / block numbers can't exceed `int32` also.

warnings has been disappeared in appveyor. 
- https://ci.appveyor.com/project/sinhrks/pandas-2dhxb/build/1.0.669/job/2s24fpuxk3d2nrvq
