Set defaults to empty dicts since that's how they are set internally
`scatter_matrix()` takes arguments `density_kwds` and `hist_kwds` which defaults to None. These are later set to empty dicts if they are not None. This tiny PR changes the defaults to empty dicts to improve code clarity.

 - [ ] closes #xxxx
 - [X] tests added / passed
 - [X] passes ``git diff upstream/master --name-only -- '*.py' | flake8 --diff``
 - [ ] whatsnew entry

Not sure if it matters in this case, but in general you don't want to use mutable values as defaults in python, as they are bound at function declaration time and can be subsequently modified. e.g. described here
http://python-guide-pt-br.readthedocs.io/en/latest/writing/gotchas/

So the pattern we are using here is correct.  Thanks for the PR, certainly welcome other code cleanups if you see them! Yes, this is a typical pattern we want to keep. Holy Macaroni! I don't consider myself a newcomer to python but this I had no idea about. I have learned something today. 😄 

And I thought I was cleaning up someones mess... 