Added multi-directional support and more test cases.  This also resulted
in cleaning up the interface between NavTree and NavDecision.