Fixes #6636, #6657, #6694: PGError while creating OS with to many characters in name/minor/major

Fixes #6657: Major/monor version fields should not accept negative integer values while creating OS
Why the mix of using validates_length.. and individual :length declarations?  Should they be removed?