Make sure `FakeRecord`'s can be used with a `Stack`

This allows using a fake record with a stack, model or record.
The only change needed was to provide the association's record
class. With this information and the previous changes to fake
records, a record stack can easily "walk" a fake record's belongs
to associations the same way it does for a real record. This adds
system tests for both record and model stacks to ensure that using
a fake record works with the 2 stacks.