Feature/bk update id classes

I've finished putting through the various requests / changes for the ID classes:
- Case independent and hyphens -> underscores #101 
- Rewrite operator== and matches method #82
- default value for generator config #80  
- Change field separator to # #89 

I have also added `isFast()` and `isSlow()` methods to the Channel and source IDs.  This should be used to check if a channel is fast or slow instead of the previous `IDs::channel ch1("....."); ch1==IDs::Fast;`.  This old approach has been broken by the fact that operator== now returns true only if the enums contained in the channel ID are identical.  The new `matches` method takes over the role of the wildcarded matching that operator== had previously done.

Because of this change, I'm doing this as a pull request, although I have already put the correct changes into the parts of the code that needed updating.