Fix database corruption in case of unexpected conditions

In SBCL, evaluations resulting in `type-error`s or `no-applicable-method-error`s could result in database corruption because some slots of the conditions (`:expected-type` and `:generic-function` respectively) were printed unreadably, making subsequent loading of the database impossible.

The short-term solution, as implemented in the first commit, is adding the slots to `stringified-error-prop?`.

The second commit adds a "safety net", ensuring that values are actually printable readably.

Not sure what the correct solution is, but this is the fix I used.