Composed function defintions can start with a `java.util.function.Function` or `java.util.function.BiFunction` and compose with other functions or consumers. In the case of a consumer, this needs to be the last unit in the function definition. `java.util.function.BiConumer` is not eligibe for function composition. The first component in the definition can be a curried function as well. Adding tests and docs. Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/1088 Resolves #1091