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.
Wow. I went in to update the error messages, went hog wild, and then apparently didn't even do what I started out to do originally. Great. This is why I should have gone home... staying around on Friday proved to have some odd results. I'll get this done next week.