Understanding Credit Tranches, Waterfalls, and Structural Complexity in CLOs