Simplify so addresses aren't necessarily linear.

In the gadget tree, the node stores an address where that gadget will appear. So
it's possible that, if we just print the gadget addresses in the tree, they will
jump all over the place, if that sequence appears in multiple places, e.g. we
might get something like:

5: XOR EAX, EAX
3: JMP EAX
7: RET

Instead of:

5: XOR EAX, EAX
6: JMP EAX
7: RET

Before this commit, we kept a 'virtual_address' variable to show on the left
side the addresses in linear order. I don't see why we need to do this, since
someone finding gadgets doesn't need that property. They could derive it
themselves from instruction length, so no information is lost in the ouptut by
removing it. Removing it also simplifies the code and lets us always show the
optimal address (the one without any zero bytes).