Minor changes to abstraction and adding a unit test project

Moving some functionality into the TcxPoint to abstract away some of the
internal logic (replacing NoDistance for example) and adding properties
for Ascent.  Also adding unit test assembly - no tests but a small
description of things to be considered.