Fix build failure in OctreeNode with gcc 4.9.1
Fix build failure in OctreeNode with gcc 4.9.1

With gcc 4.9.1 there was a build failure, probably caused by a bug in
gcc, as it was causing gcc to throw its own internal errors. It appears
to be having problems with the 2D array of std::pair. When these are
replaced with a simple struct, gcc then complains about the 1D
initialization of the array for a 2D array. This change address both
issues. The struct also provides a slightly more descriptive interface
for the TransitionCodes than a std::pair, ie, nodeId and symbol instead
of first and second.

simquest/opensurgsim,simquest/opensurgsim,simquest/opensurgsim,simquest/opensurgsim