Fixes issue #4747 - FileGenerator now properly generates files.

This class appears to be very fragile and fragmented in terms of how it works.  My guess is that there are edge cases that aren't covered in the unit tests.

I have added 2 new tokens for namespace and uses as well as a duplicate check on uses.  In addition the fromReflection method no longer attempts to build the body as this is done via the generate method.