Replaced eval(compile(...)) with the simpler execfile().

Docs: https://docs.python.org/2/library/functions.html#execfile
This introduces no user-visible change in functionality.
Added a dict-like class to hold JSON API dictionaries, allowing references.

This allows us to avoid copy-pasting key information from one instance to
another, since we can just read an earlier-defined instance's parameters by
using the familiar x.y.z notation in addition to x['y']['z'].