Implement Blob.to_buffer
Refactor Tree#diff into Tree.diff

Allows us to diff empty 'nil' trees