Support sub-resources in discovery API generation

This prefixes resource names with the name of their parent resource, which can lead to some unwieldy Resource and Request class names; it's an easier way to disambiguate than splitting into more libraries still (which would be a substantial refactor, I believe). 

emitter_test.dart doesn't seem to be run by the presubmit script, and I haven't yet got it to run myself, but I believe it should work (I've tested the apigen binary manually, and it looks correct).