Reformat code
Imporve api language to make it more gitlike
Sorted test for linear history
return this from most adapter methods so we can write nice compound
statements
Rationalised some code between the data access classes
Factored out logic to new Anchor class, which simplifies logic and makes
it easier to have multiple anchors (branches)