some more caching tests

Also put a bunch of inverse_of tags on associations so that stuff like eg: `script.script_level[0].script` doesn't do another query for `script` (obviously we wouldn't literally do that but we do things in method calls that essentially are that)