Improve protoc support

We should use our locally-compiled protoc only if we're compiling it.
In that case, we should also add a dependency to that effect.
Otherwise, assume `protoc` is in the path, and act accordingly.