Defining FlexE and Its Applications