Binder refactor

Major refactoring of Binder that reduced the 7600+ lines in one file into smaller "Command" objects such that the resulting Binder is down to 680+ lines. There should be no functionality difference but it should be much easier to refactor the Binder from this point.

Warning: this is a very large change. :smiley: 
I'm fine with it in this case but there is one major issue with the initializer syntax: debugging. You can't step through the various assignments. In this case it wouldn't matter much but if the assignment are any more complex and you want to see what went wrong, stepping in doesn't work. Additionally, the syntax in this case actually takes more space with the braces... so... I tend to use it when the initialization is small and simple.