Revert "Functional But Ugly"

This reverts commit c9b6b6230ce7cf199c0070226dd807a6746d975d.
Tidied up a bit

Commentary in code improves it a bit. Interface has been fully coded and
validation included.

FindRoute is still incorrect though