[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)
Status Job ID Name Coverage
  Style
passed #33006
integration
flake8

00:00:06

 
  Build
passed #33010
integration
buildAMG

00:00:03

passed #33014
integration
buildLAMMPS

00:00:05

passed #33012
integration
buildOpenMC

00:00:04

passed #33011
integration
buildQMCPack

00:00:05

passed #33013
integration
buildSTREAM

00:00:02

passed #33009
integration
containers

00:00:04

passed #33008
integration
libnrm

00:00:04

passed #33007
integration
nrm

00:00:09

 
  Test
passed #33021
rapl
py.test

00:01:25

passed #33017
integration
testHello

00:00:19

passed #33018
integration
testListen

00:00:19

passed #33019
integration performance
testPerfwrapper

00:01:10

passed #33020
knl
testPower

00:01:09

passed #33015
integration
testPwd

00:00:21

passed #33016
integration
testRun

00:00:18

 
  Applications
passed #33022
notknl integration
testAMG

00:00:23

passed #33026
notknl integration
testLAMMPS

00:00:22

passed #33024
notknl integration
testOpenMC

00:00:33

passed #33025
notknl integration
testQMCPack

00:00:22

passed #33023
notknl integration
testSTREAM

00:00:22

 
  Quality
passed #33027
integration
repoquality

00:00:10