Develop

Oh... note also that `Node::left()` and `Node::right()` should *not* return `auto_ptr`, they should return a reference or a regular pointer.  `auto_ptr` would break things, and is only for use by the solely owning container.

Also note that it's not really safe to return a `Node` at all, since you're unceremoniously deleting them when the tree goes.  If someone were to allocate this tree in the stack, use it to sort some data, and return a theoretically safe node from it, they would suddenly find their pointer dies when trying to use that node outside of the stack in which it were allocated.  Handing them a pass-by-copy iterator that dereferences into the value inside the Node would be more polite, as it would remain in-scope so long as the value the Node were referencing did.