Set registers via :let

This has a number of interesting uses, such as `let @+=@%`, which copies the currently filename to the system clipboard rather succinctly. Notably, the display version of let does not work with register names (e.g.  `let @+ @%`).

Also implemented `:echo []` and `:echo {}` because I needed to be able to parse lists and dictionaries for some of my testing.