Add General Communications Layer

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
Merge pull request #21 from GordonSmith/COMMS

Add General Communications Layer