Refactor service classes

Apply constructor injection to ConnectionService

Move DefaultRunHandler.run() to DefaultService

Move session execution logic to dedicated class

Fix assertions
Remove internal interfaces
Expose SFTP API and hide internal layer
Integrate API and internal for core package
Integrate API and internal for session package
Integrate API and internal for operation package
Integrate API and internal for interaction package
Integrate API and internal for connection package
Move utility classes
Move model classes
Merge branch 'refactor-api-internal' of #23
Extract findNotNull() to utility class
Integrate utility classes