Fix protoc parser

- Add service support
- Better support for filename casing
so this is broken when type_depth is wrong, i.e multiple { } on the same line. in that case i think most likely we will see message about missing file anyways? Should I update this code to something like this:
type_depth += uline.count('{') - uline.count('}')