Separated the slot support code from the versioning so the code is easier to maintain
Added comparable support so that we can sort arrays of package information