eli and treexml files can be drag and dropped onto Eva to have it process those files.
Merge pull request #101 from Cazra/master

Eva file drag and drop
Eva trees can now be saved and loaded in json format. Improved menu accelerator implementation. Fixed some bugs related to Eva's new architecture.
Merge pull request #102 from Cazra/master

Eva trees can be saved/loaded as json
1. Added the ability to timeout rewriting atoms with rules. This currently only
   works properly single-threaded.
2. Added methods to BasicAtom to get all the variables in a BasicAtom and
   get all instances of a given set of operators in a BasicAtom.
3. Added a cache for rewrites with a binding to the Bindings class. This
   is used in the rewrite with bindings method in Apply to avoid
   duplicating rewrite work.
Merge branch 'master' of https://github.com/elision/elision
When using inc (or read) to load a file, the file is now read relative to the location of the including file.
Merge pull request #103 from Cazra/master

Resolved issue 99
since all processors are expected to have property rewrite_timeout, it was moved to Processor. Also made change in OperatorLibrary to fix this bizarre implicit exec problem
Merge branch 'master' of https://github.com/elision/elision
Changed OpApply getVariables and getOperators to be non-recursive (and
to check for duplicate work) to make them faster.
Made the hash maps used in the memoization cache synchronized to handle the
rare (and hard to duplicate) cases where multiple threads are modifying the
cache in a problematic way.
Used the Scala DynamicVariable class to make timing out of rewrites thread safe.
Lots of changes to support the timing out of rewrting with rules.

The big classes of changes made are:

1. Check to see if rewriting has already timed out in all tryMatch*()
   methods.
2. Check to see if rewriting has already timed out in all rule library/
   rewrite rule methods for rewriting an atom.
3. Due to the rewrite behavior, it is possible for a match iterator to
   come up with matches, but when those matches are then accessed
   rewrting has timed out. The behavior exhibited in this case is that
   the bindings returned by a match iterator can be null. Handling
   for null bindings returned by a match iterator has been added.
4. Getting/setting the subjects/patterns in a Bindings object has been
   made thread safe.
1. Changed the equals() method of AtomSeq to go through a series of
   progressively harder equality checks before finally checking to
   see if the atoms in the 2 sequences are equal.
2. Don't use a synchronized map for the memoization cache. Instead
   only synchronize on the underlying cache when writing to the cache.
3. Only change the scope on the BasicAtom::timeout dynamic variable
   when rewrite timing out is enabled.
4. Make the check for rewrite timing out in BasicAtom faster when
   rewrite timing out is disabled.
5. Use bitsets to identify the enabled rulesets when getting/setting
   values in the memoization set rather than sets of strings.
Right clicking on a node causes the Create Rewrite Rule dialog to show, as if the user selected the node with the Elision->Create Rule from Node menu item.
Merge pull request #104 from Cazra/master

Eva - right-click menu for nodes