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.
For the style guide: Is there a way to highlight the block scope? Especially when you have the naked variable definition right on top of the opening brace, it looks weird. Is that a loop of some kind? IEnumerable -- must be a new lambda syntax to get LINQ-y...