Refactoring: create SourceListProvider on request
Refactoring: extract regex string as parameter
Refactoring: rename classes

SourceListProvider becomes ListProvider, and FileSourceListProvider
becomes PropertiesFilter. After that we can use them not only for source
list filtering.
Refactoring: rename method and extract parameter
Create class CommandBuilder
Create class XTerm
Transform Terminal into abstract class
Terminal implementations use CommandBuilder
Refactoring: each platform knows its default terminal
Terminal string can be taken from config
Remove Terminal implementations
Print debug info when launch terminal
Add info on terminals into default properties file
Add some documentation