Linted code with pylint.
Basic packaging.
Fixed output formatting. New: json_flat_diff.

Function json_flat_diff_invert broke in 856abb06c7 for simple
values producing incorrect screen output of type "{'': 'value'}"
instead of "'value'". json_diff_str didn't display added/removed
keys.

New, much simplified diffing function implemented for
pre-flattened data.
Removed json_diff. Tests moved to unittest.

The new diff function json_flat_diff (see prev. commit) is much
simpler and produces non-structured diffs that end up more
readable when comparing nested structures.

The function json_flat_diff_invert has also been removed. Now
json_flat_diff returns the result that
json_flat_diff_invert(json_flat_diff(x, y)) used to since they
were never used separately.

Repository restructured: jsonwatch moved to src/jsonwatch, tests
now reside in src/jsonwatch/tests/__init__.py.
Print stack traces to stderr.
Docstrings. License information in source files.