objects/data: Fix StrObject.join/1, and test.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
objects/collections: Enable FlexMaps from prelude.

Do it the same way as FlexLists.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
objects/refs: Enable Ref.promise() for generating promises in user code.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
atoms: Use a PBC to store atoms.

Apparently modifying a global dictionary at runtime is not safe.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
Establish Object.toString() and Object.toQuote().

We have toiled long enough without proper Unicode representation of objects.

This patch sprawls a bit; I wanted to get all of the spots where we were not
doing a good job of managing Unicode object representations.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
objects/data: Add proper toQuote() quoting and escaping.

Supported by a handful of tests.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
objects/user: Permit objects to provide their own pretty-printing.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>
errors: Show refusing object in Refused tracebacks.

Requires altering all call sites of Refused. sed is my friend.

Signed-off-by: Corbin Simpson <cds@corbinsimpson.com> <simpsoco@google.com>