Relatively minor code refactoring and documentation. Changed some miscellaneous errors to permission errors.
Authored by: tswift 2014-08-14
Parent: [r8032]
Child: [r8034]