Generator include fixes

If we've already fully parsed an included IDL file, and we see the same file included again, just ignore it.

If we are currently parsing an IDL file, and we see it included again throw an exception detailing the include path that led to recursive inclusion.