Implement the basics of sol runtime macros
Remove frozen objects

They are unnecessary under new evaluation rules.
Modify freeze and replace with a new list function

Freeze now freezes the entire object passed to it and does not evaluate
list parameters. The new list function is now preferred for building
lists and should be used for list literals.