Feature/ae set tapalgorithm values in constructor

Ok, here's the pull request that covers issues #206 and #207. A few things I want to mention:

 - There was a clash with having a constructor and an ```operator()``` so I renamed ```operator()``` to ```Process()```

 - At the moment, ```SetupNavigator::GetCoarseTimeOffset()``` takes an ```IDs::source``` but what I see in the code is that we give it ```IDs::channel::str()```. If I understand correctly, this will set the generator and config of the source to ```any```. So how does SetupNavigator know which row to get? (I will open a separate issue for discussion on this)

 - It's annoying that we have to get the order of the parameter correct. Is there a clever (and easy) way around this? (I won't open another issue for this since I guess it's directly related to this pull request)

 - Also, I wanted to set all the parameter values and create the algorithms in the generator's constructor rather than in the ```ProcessPulses``` method since (if I've understood correctly) there is one instance of a generator per channel. However, the generator's channel is not set by the time we get to the constructor. We saw this problem previously (this commit 68b6cad447b8e3d26d6bcdc9e24743d182b78e00 shows when we overloaded the SetChannel method to get the PCF in the FirstCompleteAPGenerator) but I'm wondering if it's simple and worth having it so that the generator's channel is set when it's constructed? (Again, I'll open a separate issue for this)