Short-circuit boolean evaluation, and return the determining value.

This acts much more like Python; now we don't even evaluate the AST once
we know the result.
Maps should have their keys evaluated as expressions!
Let Map.get_by_key take a default.
Make @dump_context actually work.
first-value-of() should not autosplit single-item lists.
Make rgb() reset the alpha channel.  rgba() accepts percentage alpha.
Add a few doubly-experimental map functions needed for menus.