Fix issue with Snapshots being unable to generate on Resources that reference circularly dependent models.
Added tests to make sure that both Snapshot Generation and reading work with circularly dependent models.
Small amounts of code cleanup in test code.

RB=189079
R=gogenc,jbetz,erli,kjin,si-dev
A=gogenc,kjin,jbetz