Make FormatCommon do not create an empty 'bucket tree' when deserializing
Fix RevTree.EMPTY to have a proper SHA id.

The RevTree.EMPTY "null object" had ObjectId.NULL as its identifier
instead of the proper SHA id that would result of hashing an empty tree.
This lead to a bunch of "special cases" instead of helping out.

This patch makes it so that RevTree.EMPTY has a proper hashed identifier,
updates InitOp to initialize the WORK_TREE and STAGE_TREE refs accordingly,
reduces the number of special checks.

Note for the sake of safety, InitOp also makes sure that the real
empty tree exists in the ObjectDatabase.
Merge pull request #746 from groldan/rev_tree_empty_fix

Fix RevTree.EMTPY to have a proper SHA