Fix MRI 1.8 regression.
Fix MRI 1.8 regression.

A subtle MRI 1.8 compatibility issue was introduced in
a3de27244f0b3d13636d4f517b1a6bee89c9700c. Now that TupleStruct is a Comparable,
apparently <=> will be used inplace of == in a few places. Furthermore, `nil <=>
x` in MRI 1.8 produces `NoMethodError` in 1.8 but `nil` in MRI 1.9. This lead to
strange behavior.

Fix the regression and make the behavior more consistent in general by changing
TupleStruct#<=> to return `nil` on `nil` elements.

bloom-lang/bud