My attempt at implementing a reusable A* implementation in C#. Uses .NET 3.5