- Introduce TreeTest.cpp to unit test Tree.h
- Add generateAllTreesWithShape to generating test cases
- Add tests for findFirstLeaf and findLastLeaf
- Fix implementations of findFirstLeaf and findLastLeaf that had been broken when empty Tree were present.
Builds upon https://reviews.llvm.org/D87749
Please elaborate what "base API" covers -- specifically, what classes and such. However, I'm not sure it is necessary to have this comment at all. Up to you.