BUG: Made SparseDataFrame.fillna() fill all NaNs
 - [x] closes #16112 
 - [x] tests added / passed
 - [x] passes ``git diff upstream/master --name-only -- '*.py' | flake8 --diff``

The dia and dok format matrices seem to have other, unrelated bugs that prevent correct initialization. Therefore, they are excluded from tests in this commit. See #16177 and #16179.
I'm new to the codebase here, so any comments are greatly welcomed!