Cleanup

@localshred bit of cleanup in preparation for more "real" fixes. In particular, this makes sure the spec protos are always compiled, which is kinda important.
I have a feeling this needs to be done at this point, I'll have to re-read all this and find the test that verifies that behavior. As for using reject and calling it unknown extensions... :+1: