My work without generated data and results.

Data was removed because it was simply too large.

The code is a bit rough and needs better commenting. A* was coded a bit
oddly unfortunately as well.