Fix operator<().
Fix operator<().

The comparison operator was using the wrong order when variants with different
types in them were compared. Both boost and the upcoming standard order the
types from left to right, but our implementation orders them right to left.

Boost has the function `which()` returning the index of a type in the typelist
as do we. (The upcoming standard calls this `index()`). But the comparison
operator was using `get_type_index()` which orders the types the other way
round.

daniel-j-h/variant,daniel-j-h/variant,daniel-j-h/variant