Automatic type deduction for temporary expressions

refs #53

This changes interface of vex::make_temp<> slightly:

1. Templated parameters are now in different order: first tag, then
   temporary type.
2. The Tag template parameter is now required.
3. The type of the temporary may be omitted, in which case it will be
   deduced from the supplied expression.