Added ENV['DEBUG_RESOLVER_TREE'] which outputs the resolver tree.

I was trying to figure out what bundler was doing for https://github.com/carlhuda/bundler/issues/2248 and couldn't make any sense of the output with `DEBUG_RESOLVER=1`. That is really, really big. 

This adds a similar debug feature with setting `DEBUG_RESOLVER_TREE` to output the current state of the resolver. The output looks like this:

```
net_c (>= 0) ruby
net_e (>= 0) ruby
net_a (>= 0) ruby
net_d (>= 0) ruby
net_d (>= 0) ruby
  net_b (>= 0) ruby
  net_build_extensions (>= 0) ruby
  rake (>= 0) ruby
```

I also added tests for both `DEBUG_RESOLVER` and `DEBUG_RESOLVER_TREE`.

If you hate this feature I will gladly separately PR the tests for `DEBUG_RESOLVER`, which I think should be there :)