Fix too many recursiver errors on deeply nested alist structures

This case was crashing threads in modern sbcl, if the json was
large due to exceeding the maximum error depth

  (json:encode-json-alist-to-string
     (json:decode-json-from-string *json*))

 * Replace direct call in the error handler with restart invokation
 * fix bug where if the value of an alist-cell was an alist we wouldnt
   try parsing it as one (the cdr was a cons)
 * use symbol names for list encoder so that changes in the encoder
   (such as tracing adding break points) show up without having to
   switch that variable