Review, update, document, and test #216.

Add missing test case for the new method / feature.
Update comments and add missing docstrings.
Fix typo in unsafe_download() test condition.