Adds support for TaggedTrees with example.

Hey Jake,

I saw an easy way to support specified tags, like it was before the latest version. This should be a non-breaking pull request, just adds a `TaggedTree` interface that extends `Tree`. `Timber` notices when a `TaggedTree` is planted, and marks where it is planted. Then when a tag is set, `Timber` goes through the forest and marks the `TaggedTree`s with the new tag.

`DebugTree` is a `TaggedTree`, where if one isn't specified, it falls back to the automatic tag.