ENH: add sparse op for int64 dtypes
- [x] related to #667
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

As a first step for #667, numeric op can now preserve `int64` dtype. On current master, dtype is reset to `float64` after op.

```
# current master
a = pd.SparseArray([1, 2], dtype=np.int64)
a.dtype
# dtype('int64')

(a + a).dtype
# dtype('float64')
```

**NOTE:** `int64` `SparseSeries.__floordiv__` test is skipped because dense `Series` also has inconsistency in `nan/inf` handling (#13843). Currently it outputs the same result as `float64`.
