work on relative effects, other fixes

- cleaned up `fromAnnotation`. compute the default effect based on the presence of `@pure` or `@rel(...)`
- remove all annotations (including `@rel` and `@pure`) when clearing effect annotations from trees or the expected type
- function literals have a relative effect only when their body actually calls a parameter method which is covered by a relative effect
- detect when a parameter is passed as argument into a method with a relative effect to support the following

    def m1(a1: A) @rel(a1.foo)
    def m2(a2: A) @rel(a2.foo) = m1(a1)

- some tests for relative effects