Add a new class template to represent a selection of PulseBanks to be returned by the EventNavigator.  The classes are templated on the type of Bank to be returned for the benefit of their consumer (the EventNavigator).
A little extra documentation.
Checkpoint commit (does not compile).  I decided to remove the template parameter.  The user *should* know what kind of pulses they are planning to request, but in prcatice there's not much benefit to forcing them to declare it here, and it creates additional types aliases that are confusing, e.g.:

BankSelection<PulseIslandList>::SourceList_t != BankSelection<AnalysedPulseList>::SourceList_t
Detemplateified BankSelection
Add test harness for BankSelection
Make the new version compile and pass existing tests.
Latest updates. Need to rebase onto develop to pick up wildcard capabilites befor going any further.
Latest, before rebase.  Expect revisons once BankSelection is complete.