Remove feature where it records lines from the middle of an invocation

This can't be done properly without actually parsing the file
e.g.

    a = b
       .c

gets turned into

    record(record(a = b)
                     .c)

But should be

    record(a = record(b)
                     .c)

This will also occur when dealing with things like method invocations, e.g.

    puts a
        .b
Record exception name/message/backtrace instead of serializing it directly

Serialized exceptions cannot necessarily be unserialized (e.g. if you create the exception
in the code being evaluated, then it only exists in the process in which it was evaluated,
and there is no class defined for it to be an instance of)
Back to serializing with YAML (what is this the third time now?)

Since we are no longer serializing the exceptions, we do not have to
deal with the NameError::message bullshit. This means that we can use
YAML again, which I need in order to work on Windows (I think, anyway).
Bump version to 0.0.23