Massive refactor of BindBundleCommand to radically improve code maintainability.

This pull request is probably easier to understand by looking at the resulting code, not the diffs themselves. There is more that can be done to clean up from here, but this is a huge step forward.
I completely agree but given all the other changes it was just too hard to change the names of everything. I'm looking for good suggestions for a prefix: `WixBundle` or is just `Wix` enough?