Dagsolid g4 rebase

Rebased dagsolid_g4 to develop & this is the resultant branch. This contains all work pertinent to DagSolid & its implementation. Contains tests & a Read me. Known to pass all tests, following merge of this would like to integrate with existing CI infrastructure.