vlr: short circut sum and prod in zero and one cases

Leaf operations in sum and prod reduce to a map_r operation. The result
will therefore be determined by the Result.t operations at the nodes of
the other diagram. Since

  Result.prod one t = t
  Result.prod t one = t

  Result.sum zero t
  Result.sum t zero

the Vlr.prod and Vlr.prod operation can short circuit when they
encounters a leaf node holding the value one or zero, respectively, by
just returning the other diagram. And since

  Result.prod zero t
  Result.prod t zero

the Vlr.prod operation can short circuit when it encounters a leaf ndoe
holding the value zero by just returning zero.
vlr: reuse nodes in restrict

It's safe to reuse these nodes. Since the function has a handle on the
diagram, it is reachable by the garbage collector and should therefore
be in the manager.

Take the opportunity to rename variables for the lattice values to
conform to the conventions of the library.