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.