simplify operations on source sets
fix #3 - add support for additional test source sets
add support for additional main source sets
make task dependencies less restrictive
add dynamic task dependencies based on selected test source sets