Ben build matrix of surface normals

Needs unit testing. 
For these tests "to be written later", make the test fail with
```
FAIL() << "todo";
```
then disable the test by prepending DISABLED_ to the test case name (the second TEST() macro argument).