Even More Suggested Changes :)

These should address the issues with following symlinked directories, files with invalid permissions, and files which don't really exist.  Added tests for all the covered edge cases.