Updated data client to handle scenario where the identifier for two different subclasses of FDModel are the same.

If your API had team and player objects and by complete fluke the
identifier was the same for two of them the old implementation would
only track one of the objects.

Now instances are first grouped by what subclass of FDModel they are
and then tracked by their identifier.
Updated FDRequestClient submodule pointer.