Refactor

This PR refactors the complete setup into several files, including some namespace renamings and polishing of the overall architecture.

@theneikos: Please review. I used your commits.

Note that the software does not run yet. My fix-branches will be rebased onto this and after that the software should be runable, at least.
Here you have a require for QueryCommand, but in FilterCommand.rb you do not. Is there a reason for that?