Escape additional strings in json serialization

Missed those previously. Related to #70.

Signed-off-by: Martin Milata <mmilata@redhat.com>
Signed-off-by: Michal Toman <mtoman@redhat.com>
Remove file_{name,line} attributes of python frame

They can be inferred from the stack trace and are not used (i.e. not
parsed) anyway.

Signed-off-by: Martin Milata <mmilata@redhat.com>
Signed-off-by: Michal Toman <mtoman@redhat.com>
Reverse python stacktraces

The frames in stacktraces of other problem types are in inverse order
than those in python exceptions, this commit changes it. Related to #70.

Signed-off-by: Martin Milata <mmilata@redhat.com>
Signed-off-by: Michal Toman <mtoman@redhat.com>
normalize: don't segfault on nameless koops frames

Signed-off-by: Martin Milata <mmilata@redhat.com>
Signed-off-by: Michal Toman <mtoman@redhat.com>
Add functions for generating stacktrace reasons

Reason is a brief, human-readable explanation of the problem.
Related to #70.

Signed-off-by: Martin Milata <mmilata@redhat.com>
Signed-off-by: Michal Toman <mtoman@redhat.com>
uReport2 formatted core stacktraces

No big changes: the "threads" key was renamed to "stacktrace" and crash
thread is now indicated using boolean key inside the thread object
instead of its number in the stacktrace object.

Related to #68. Related to #70.

Signed-off-by: Martin Milata <mmilata@redhat.com>
Signed-off-by: Michal Toman <mtoman@redhat.com>
uReport2 support

- some keys were moved into the "problem" json object
- "reason" key added
- some keys (rpm_packages, python frames) were renamed

See https://github.com/abrt/faf/wiki/uReport#ureport2-draft for uReport2
format draft.

Closes #70. Closes #68 - the support is probably incomplete, please open
more specific tickets when you encounter a problem.

Signed-off-by: Martin Milata <mmilata@redhat.com>
Signed-off-by: Michal Toman <mtoman@redhat.com>
tests: add json_files to dist

Signed-off-by: Michal Toman <mtoman@redhat.com>