Add Roaster generation

Add support classes for Roaster
Add unit tests
There are some changes when comparing to the original ESMS implementation, to take advantage of JSON and better model structure (countries, etc)
Logic wise, the rosters should be quite similar to the ones generated in original ESMS