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
If we use resolver, the sessionFactory will be set when send is called, so remove final for sessionfactory.
add final to SessionFactoryResolver