feat: Refactor builder to use dartanalyzer

Some notes:

- I've left error code processing alone for the moment -- it's more important to move onto other things.
- The builder is a bit slow, 99% of this is because it takes the analyzer package *ages* to parse and compile a library from a cold start. This should get better if the gigantic `services` library is split up into smaller libraries.
- I've tried to refactor things in a way that preserves existing code structure, but enables greater extensibility. There are minimal changes that need to be made to the existing server to get things running, but there is a lot of scope to improve upon API structure, so everything doesn't need to be in the same directory.
- This can't be published to pub yet. I'll have to publish a new version of the protoc_builder library, but that requires getting some changes merged upstream first.

The only breaking change I've had to make outside the builder is:
- The `@IrisService` annotation is now mandatory and requires a `declaredIn` argument (also renamed from `@Service` to `@IrisService` because namespaces).

Also, the generated iris library is structured differently, so that all the services are compiled into the `.pb.dart` files, with the rest of the template.
The main reason was that there are a *lot* of options that need to be set. The other reason is that this is a small self-contained script and following defensive coding best practices isn't always necessary in that case. 

I can change it if you'd prefer; all the fields are effectively final.