feat(elaborator): solve more unification constraints, add more tests

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>