I don't understand why it makes sense to invoke the == operator, which requires it to cycle through each parameter checking for equality, then cycle through them all again to check for <.  Why not just do the latter so we only loop over everything once?

Also something is funny here, if I do
```
x = galsim.GSParams()
z = galsim.GSParams(shoot_relerr=0.5*x.shoot_relerr)
print z <  x
```
then the result is false, whereas I would expect it to be true.  Again maybe I've misunderstood something?