Initial commit for Node, Edge, Traversal, Network, NetworkFactory.
Initial shortest path code. Has a couple Dijkstra implementations, and
some tests to see which works the best. There is some paralellization
code as well. This will change as things get nailed down, and as Jeff's
network code gets figured out.
Reorganizing the shortest path code to have a better, more flexible
structure. Setting up to shift to new network code.
Added TurnType, calculations to NetworkFactory.
Refactored Network to use generics and put attributes as fields in node,
edge, and traversal objects.  Created new package
org.sandag.abm.active.sandag to hold SANDAG-specific code.  Created
properties file in src/test/resources.  Wrote test
SandagBikeNetworkFactoryTest for SandagBikeNetworkFactory.
Adding some classes I missed.
Missed another...
Fixed some bugs, and made some efficiency improvements (plus, parallel
code that I missed!).
Updated SandagBikeNetworkFactoryTest to work with new code.
Added ShortestPathWithTargets and ParallelShortestPathWithTargets so
shortest path strategy can take a Map<Node,HashSet<Node>> defining
different sets of destination nodes for every origin node.
Saving work before branching to refactor.
Implemented PathAlternativeListGenerationApplication.  Gave ShortestPath
and related classes more descriptive names.  E.g.
ShortestPathResultsContainer is now ModifiableShortestPathResultSet.
Refactored Dijkstra strategies to take EdgeEvaluator and
TraversalEvaluator instead of combined PathElementEvaluator.  Deleted
additional experimental classes.
Fixed some bugs.  Added bare-bones
PathAlternativeListGenerationApplicationTest.
Reduced memory consumption of Dijkstra's output by not storing null
paths and costs for not-found destinations.  Fixed bugs.  Other changes
to path alternative list generation based on testing.
Fixed bug of clearing alternative lists prematurely in
PathAlternativeListGenerationApplication.
Fixed bugs, made adjustments to algorithms in response to testing.
Changed PathAlternativeListApplication to not save paths and conserve
memory.  Added BikeTripPathChoice.xls UEC.
Updated BikeTripPathChoice.xls UEC so that mandatory tour elevation gain
penalty applies only to outbound leg of tour.
Added some classes for running the path choice model. Will migrate to a different branch soon.
Added path choice model code, which generates path probabilities based on a UEC. The class is threadsafe in the sense that multiple path probability calculations can be performed in parallel using the same model instance. I had to change the PathAlternativeListGenerationApplication class to return PathAlternativeLists and this probably means it isn't scalable to the full model. Also included the trip choice uec spreadsheet in the test/resources/ folder.