ENH: Improve random_noise with better param names & docfixes

This should address comments from @tonysyu about `random_noise` after #625 was merged.

Changes:

* More descriptive names for kwarg parameters.
* Default values explicitly added to docstring, as this method parses `**kwargs` instead of having explicit kwargs available in the function signature.
* int() conversion in salt & pepper path should fix the last few errors noted in #628.
* Add a test for bad mode argument.