pgmpc: First commit of this module

There is still much to do, but at least some basic understanding of
how things work is done.