Interpreter states encapulated in an `Interpreter` instance.

  - this was a big refactoring adds a few new files (chart.py, repl.py,
    config.py)

Fix: Errors stop on first failed handler.

Adding a new rule is safe. We check that the initializers run and there are no
aggregator conflicts before added the new rules to `Interpreter` state. We stage
propagation.

I've document a few more errors (see `examples/string-quote.dyna`)

Using the ~/.dyna directory

  - adds a dependency to the `path.py` module
New features and cleanup.

New feature: support for rule retraction

  - rules are indexed by `Interpreter` and stored in a `Rule` instance.

  - REPL features to list rules, retract rule by it'd rule index.

New features: item retraction

  - this is an experimental feature, which is very inefficient.

Update python deps in readme

chart dumps and trace output use dyna-style double quoted strings and lower case
Booleans.

better output formatting for REPL/query
()
updated expected output for end-to-end tests.
merge