- Updated createflowpaths 10a1 to ensure that the generation of a single
  flow table results in an equivalent flow table as CF9.1
- Fixed bug introduced in build_flow_table where flow_table[pch].num_adjacent
  was reset to zero, resulting in the adjacency list of a patch to be reset
  by check_neighbours in subsequent iterations of build_flow_table.
Fixed makefile which was failing under OS X: added missing initialization of OS
variable
Implementation of hash table data structure to be used for speeding up
find_patch
Initial application of patch hash table to replace find_patch.  Next update
will refactor this to make find patch use the hash table
Added missing include from previous commit
- Refactored find_patch to use patch hash table instead of doing a full
  flow table scan for each call
- Finished implementation of hash table speed up to find_patch
- Finished reworking sort_flow_table to use stdlib's merge sort instead of
  bubble sort
changes to rhessys to read .def files using parameter name
- Addded Python-base test harness for comparing a flow table generated with
  the current code to a reference flow table
  - Includes necessary GRASS and RHESSys data for running CF
Merge branch 'develop' of https://github.com/RHESSys/RHESSys into develop
Added utility scripts for making zip files of testing data
- Fixed bug in normalize_roof_patches.c:normalize_roof_patches() where
  the final entry in the flow table was being skipped (off-by-one error), which
  addresses issue #15.
- Changed how nearest_neighbor_grid_search.c:grid_search() handles search
  predicate failure.  This is now not a fatal error (as it can arise when
  we are searching near the edge of the domain), so searching should continue.
Integrated Python-based functional testing into makefile with new target "functest"
Merge branch 'develop'

Pulls in CF10b1 changes from develop to master.  CF10b1 represents a beta
version of createflowpaths that includes support for generating separate
surface and sub-surface flow tables.  If a roof layer is present, a surface
flow table will be generated to allow non-topographic routing of rooftops.
The sub-surface routing table is identical to the single CF9 flow table.
If no roof layer is specified, the previous CF9 behavior is maintained.