Cleaned up WorldNeighborhood and WorldNeighborhoodProvider implementations:
  * Added an abstract NeighborhoodArray class. Allows users to create a array based
    Neighborhood by just implemting a single function.
  * Replaced the WriteBufferNeighborhoodProvider with a UpdateRegionNeighborhoodProvider.