GH-9: Fix DslRecipientListRouter recipients order

Fixes: https://github.com/spring-projects/spring-integration-java-dsl/issues/9

Since `RecipientListRouter` assumes that recipients should receive message in that order in which they have been added,
the logic with `Map` for each recipient type in the `DslRecipientListRouter` isn't correct.

* Change it to the `List<Tuple2<?, ?>>` and do appropriate logic during iteration saving an order.
* Add `requiresReply = true` for those gateway `Spec`s, which are based on those XML components which provide that option as `true` by default.
* Add more `.recipient()` methods to the `RecipientListRouterSpec`
Given that this 'Spec always creats a `DslRecipientListRouter`, why can't we change its generic type so we can avoid these casts?