Java DSL: Lambdas for Namespace Factories

* Add `Function` and `Consumer` copies from Java 8
* Rework some functional interfaces to `Function` or `Consumer`
* Introduce `Channels`, `MessageHandlers`, `MessageProducers`, `MessageSources`, `MessagingGateways`
- some convenient wrappers for Namespace Factories to be used from Lambdas
* Add Lambda-methods for those new wrappers
* Provide some refactoring
* Upgrade to Boot `1.1.7`
From one side we can specify `MessageSource<?>` as Lambda. See `from(MessageSource<?> messageSource)`.
So, compiler doesn't know which method to use and require explicit cast.
From other side we have other `from(Function<?>)` methods, which also are obscure for compiler