IntegerArray.to_numpy
This implements IntegerArray.to_numpy with similar semantics to BooleanArray.to_numpy. The implementation is now identical between BooleanArray & IntegerArray. #30789 will merge them.

1. `.to_numpy(dtype=float/bool/int)` will raise if there are missing values
2. `.astype(float)` will convert NA to NaN.

I've made a slight change from the BooleanArray implementation on master, which I'll annotate inline.

Closes https://github.com/pandas-dev/pandas/issues/30038
Thanks @TomAugspurger 