Fix preorder treewalk bug in congruence_hash
std::is_same check already taken care of by std::is_base_of
Remove implicit RootNode to NodeRef coercion
Actual congruence_hash fix (new Git client is confusing!)
Bunch of minor formatting changes for 80-column fit
Enable dereference on RootNode<T> const refs
ID-based "less than" operation for equality comparison vs. congruence