Updates README

Adds sections for new parameters, classes, and defined types not previously documented. Updates sections for parameters, classes, defined types, testing, and examples to reflect ongoing changes to the module. Edits for punctuation, spelling, grammar, clarity, consistency, formatting, and code correctness. Updates links to external documentation to point to the most recent and most pertinent docs.
Final edits to fix merge conflicts
Fix replace/replacements
Merge pull request #632 from laurenrother/readme

Update README
Change test location to be under /tmp/.
Merge pull request #633 from apenney/change-test-location

Change test location to be under /tmp/.