Adding new small time func for converting timedelta objects to hours.
Refactored much of the functionality of create_route_defs_csv.py into
route_segs.py - and changed so it also uses the Seg_Reference basic class to
manage segments in-memory, rather than a tuple like it did previously.

(This unifies quite a bit the segment processing that's also done in the
create_network_topology_segments.py function with this group. And should make
it easier to do more topology processing in future).

Also, some minor cleanups to get_network_stats.py to use this new interface,
and not access the route shapefiles as much.
Further added some abstraction and standardisation around route_defs via a new
Route_Def struct :- and updated create_route_defs_csv.py to use this.
* Improved the abstraction around use of route segments in the
create_gtfs_from_basicinfo.py script, to avoid dealing directly with the GIS
shapefiles where possible and instead use the seg_ref abstractuions in
route_segs.py.
* Also moved a few basic topology functions from former script into
  route_segs.py