propagation: fix and cleanup
propagation: fix and cleanup

In particular:
- matching can now assign uvars (on the right)
- propagation cleans up the mess potentially done while meatching

A lot of code cleanup

LPCIC/elpi