INTEXT-77 Add Kafka topic filter support for producer + consumer

* Add tests
* Add samples
* Update readme

Jira: https://jira.springsource.org/browse/INTEXT-77
Merge pull request #58 from relango/merge-master-kafka-topic-filter

* relango-merge-master-kafka-topic-filter:
  INTEXT-77 Add Kafka topic filter support for producer + consumer
INTEXT-92 Kafka: Add support for specifying any producer/consumer property

* Update README.md for producer and consumer properties usage
INTEXT-95: Create SI Java DSL Project

JIRA: https://jira.springsource.org/browse/INTEXT-95
INTEXT-96: The Java DSL initial implementation

JIRA: https://jira.springsource.org/browse/INTEXT-96

* `MessageChannels` Builder
* Configuration infrastructure
* `Pollers` Builder
* Initial `IntegrationFlows` Builder
* `EndpointConfigurer` Specs
* EIP-methods `from(MessageSource)`, `from(MessageChannel)`, `transform`, `filter`
Make gradlew Executable
Provide `Copyright` for classes
`Spec<?, ?>` improvements

* Provide `id`-aware DSL methods for `MessageChannelSpec`
* Rework `DslIntegrationConfigurationInitializer` to delegate to `IntegrationFlowBeanPostProcessor`
to allow to use components from `IntegrationFlowBuilder` via `@Autowired`
Revert `IntegrationFlow` processing to `BFPP`

Add test case for `@MessageEndpoint` to et deal with channel from `IntegrationFlow`
As far as `AbstractMethodAnnotationPostProcessor` tries to resolve `channel` on endpoint creation,
the `IntegrationFlow` processing can't be done in the `BPP`, because `MessagingAnnotationPostProcessor` may parse
annotations for bean before `IntegrationFlowBeanPostProcessor` will do its stuff.
`IntegrationComponentSpec` refactoring

Introduce `Tuple`
Apply `EndpointConfigurer` for `MessageSource<>` DSL-method
Introduce EIP-methods `handle()` and `bridge()`

* Remove generic argument from `GenericEndpointSpec`: it isn't necessary
* Add check for `one-way` flow in case the last component isn't `MessageProducer`
Introduce method-invoking `handle`

* Add generic argument to `GenericEndpointSpec`.
Since `EndpointSpec#get()` returns `Tuple` with `EndpointFactoryBean` and `MessageHandler` objects
it is useful to get deal with specific generic for further `MessageHandler` configuration within `EndpointConfigurer` lambda
* Change DSL-methods to get deal deal with those generics.
* Add `FileWritingMessageHandler` test to demonstrate it.
* Fix bug around double `MessageHandler` bean registration from `DslIntegrationConfigurationInitializer`, when handler is a reference
to existing bean.
Support @Autowired for Configurations with DSL
Add `delay()` EIP-method
Add `enrich()` and channel names option
Add support for `FixedSubscriberChannel`
Add `split()` and `enrichHeaders()` EIP-methods
Add `resequence()`,`aggregate()`,`headerFilter()`

Polishing for `@Copyright`
Add `controlBus()` EIP-method
Add `route()`, `recipientListRoute()` EIP-methods