Code Cleanup

- Started organizing code blocks into more functions
- remove "super" calls and replace with parent class calls directly, which will
  eliminate any future bugs with multiple inheritence and the pesky calls to object
- More code comments
Adds more code comments and consolidates some functionality

- Renames get_valid_DomainOfApplication to get_valid_doa for pep-8 compliance
  and easier to type
- More comments
- Replaces some hasattr calls to getattr with a default
- Moves cache enforcement logic out get_parameter_values and into
  get_cached_values

Really, I'm just learning how the internals work, the best way I can go about
this is to make subtle changes and identify individual components and how they
function.
Merge pull request #109 from lukecampbell/cleanup

Code Cleanup