Refactoring, sample -> target and cleanup
Refactoring, splitting large files with multiple classes into multiple.
Changed old sample into BaseTarget, Target and Helper. Now one can run without brilliance transfer by using BaseTarget, as it doesn't have divergence requirements.
One should derive from Target if divergence requirements are used.
Fixed bug with curved guide where multiple curved guides would introduce hidden free parameters.