Add converter for boost::variant<U,V>

The converter is restricted to two-type variants which is enough
for our current needs. It could be generalized to more types.