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).

This is a clone of https://github.com/google/streamy-dart/pull/234, on the new master branch.