adding microsoft keyword __if_exists

update test expectations
adding the dependencies support to __if__exists

Basically the dependency engine skips the blocks inside an _if_exists(v)
so one can put anything in there without incurring in a dependency at
the plex level.  If |v| is defined then the compiler will need the
things inside the block though.