Roadmap for 07

A major feature in 0.7 is the way operators are implemented. The Vc types now follow the C/C++ standards much closer how types implicitly convert when two different types are used with an operator. Examples for builtin types:

int * unsigned int -> unsigned int
float * int -> float
float * double -> double

Vc was too picky before 0.7 and OTOH did some implicit conversions that could lead to unexpected results. For example int_v * float would lead to the float getting converted to int_v instead of the int_v getting converted to float_v and the float broadcast to another float_v. I.e. old behavior:

int_v * float_v      -> error
int_v * float        -> int_v
int_v * uint_v       -> error
int_v * unsigned int -> int_v
float_v * double     -> float_v

The new behavior is now consistent with the behavior of builtin types - or stricter because different vector sizes do not combine
int_v * float_v      -> float_v
int_v * float        -> float_v
int_v * uint_v       -> uint_v
int_v * unsigned int -> uint_v
float_v * double     -> error (correct would be double_v, but that can't work because float_v::Size != double_v::Size)