Add dict support

Dicts use almost-python syntax with {}, the only difference is they don't need commas between elements.
They are converted to (dict key value ...) at read stage and then expanded to a special builtin dict node at expansion stage.
They are compiled to the same bytecode as python dicts.