INT-2120:RemoteFileTemplate - Phase III

JIRA: https://jira.spring.io/browse/INT-3205

* add SftpSessionFactoryResolver, DefaultSessionFactoryResolver, SftpSessionFactoryResolver
* add constructor in RemoteFileTemplate that take SessionFactoryResolver as parameter
* add test
`this.beanFactory`.
No, not `toString()`, but really this one `this.sessionFactoryExpression.getValue(message, String.class)`
However the `EvaluationContext` has to be supported too. See `IntegrationEvaluationContextAware`.
However I think `headers['sessionFactory']` should be resolved to the entire `SessionFactory` object, not the `beanId`.
@garyrussell ?