Better handling of protofiles

It replicated what I did in Nrv. It makes compiling protofile less confusing. Also, if the file exists already and haven't change, it won't attempt to generate it, so no need to have protoc installed.