Major overhaul of multivector expressions

* Multivectors and vectors now use same procedures for kernels
  generation and launching.
* Assignment of a multiexpression or a tuple of vector expressions to a
  multivector is now served by same method.
* Compound assignments to multivectors should be more effective.

refs #37