[feature] moves the message formats to json schema.

Adds the nrm/schemas repository which defines the communication schemas
for the upstream and downstream APIs. The messaging.py file now uses
decorators and two added python dependencies (jsonschema and warlock).
This commits also adds the .envrc direnv configuration file for
nix-based development.
22 jobs for nrm-gen in 5 minutes and 25 seconds (queued for 1 second)