More flexibile renaming.

Replaced the renaming of all the conflicting variable names before
substitution with renaming the conflicting variable name when
entering it's lambda definition.
Does not work.

Changes made at teacher's sugestion but are not implemented all the way.
Draft for types homework.
Working simple services (+ / - *) and a service that uses 2 other services.