A grid graph implementation

Extend previous branch with GridGraph, a grid graph implementation, supporting O(1) access and a random access iterator interface.
typedef typename Base::difference_type difference_type;