Bug fix: Constraints.parse was not merging constraints after parsing !

As a side effect, merge() has to be updated in order to work only with
an iterable of Constraints.
Looks cleaner.
Improved documentation
Simplified cmp for py3
Simplified Version.__cmp__ for better readability