Add getParent method for Commit objects

Add method to retrieve a given parent (not ancestor) of a commit object.
If the commit doesn't have the requested parent return null.
Improve parsing of relative references

Support parsing of references like HEAD~^2~3^ .  Previously, ~ required
a following number, ^ didn't allow a following number, and chaining
wasn't supported.

If at any point in the resolving of the chain the requested parent isn't
found report the error by specifying the id of the last commit that was
found along with the parent specification to help the user to figure out
where the problem arose.
Remove obsolete numBackFrom method

The numBackFrom method is no longer called from anywhere with the
changes from the previous commit to change how relative references are
handled.
Rebuild for changes to handling of relative refs
rebuild