Fix some static analysis issues
Simplify build tree dependencies
Add comment
Merge Backend and SSH2Backend classes

Old class separation does not actually help to fight complexity.
Moreover, it brings more complexity to the code. Now we merge classes
together into one and look for the new ways of splitting it.
Visualize current target dependencies
Add basic Gradle build file
Make the source layout satisfy standarts
Define dependencies for Gradle
Define new targets
Make ant build dirs satisfy gradle standards
Make ant build dirs satisfy gradle standards
Make ant build dirs satisfy gradle standards
Remove build dir in "clean" target
Use gradle to clean resources
Use gradle to build java classes
Use gradle to build java test classes
Disable "Mutation Coverage" target
Update task dependency tree
Replace old build tasks with one gradle call
Update task dependency tree