refactored to use the Enumerable protocol for enumerating over leaves
implemented insert_at with a few tests