Add support for forward references

Fixture definitions with unmet references can now be cached and added to
subsequent load operations.  This allows bidrectional references in
separate files, as well as any other situation in which there is no
well-defined linear order to load the fixture files in.

In order to not change the current default behavior from what people are
used to a flag set by `enableForwardReferences()` has been added.

Since with this on the loader no longer throws an exception on an unmet
reference, a new method `getIncompleteInstances()` has been introduced.
This can be called at the end of a fixture loading run to get
information on those fixtures that were never completed.