make sym-table a mutable data structure

WIP: retain/release for dict
change dict api interface to use Val instead

so retain/release can be applied on dict values