Refactor singular resource for speed

~20% improvement on test speed if we avoid updating
new records.
Add control tracking
Raise exception if association missing
Merge pull request #1 from JamesGlover/raise_on_missing_associated

Raise on missing associated