Raise exception if association missing
Merge pull request #1 from JamesGlover/raise_on_missing_associated

Raise on missing associated
Replace association mocking with factories

Not entirely happy with this change as it means
extra hits of the database. Unfortunately various
constraints mean that if we hit the database at
all we need it. Might be able to reduce the tests
that hit the db, but we have logic there that'll
need to be covered.