Added ChangeSetValidator to detect duplicate ChangeSetIds

This solves Issue #42.

It adds
* a ChangeSetValidator interface,
* an default Implemntation of it and
* a Validation Exception.

The unittests are also included.