Add missing 'final' modifier to RevTree.EMPTY and RevTree.EMPTY_TREE_ID.
Reorganize CLI functional tests into general, plumbing, porcelain, and remote.

Helps reduce the build time by allowing maven to run the tests
for the different packages in parallel.