Update 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. 

![image](https://f.cloud.github.com/assets/2624486/2201652/eeae3ee6-98f1-11e3-91fa-c0b07c0096f6.png)