Correctly require nested protos.

Sorry the spec is kind of ghetto but I couldn't figure out a good way to adapt the existing `compile_and_load`.

This is necessary because when requiring a proto that depends on nested definitions, you don't want to add every subfolder to your load path.