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
Avoid saving unless we need to (testing the validation is enough), it'll slow down test runs