Adding support for multiple local contexts

As usual, this PR is better reviewed by commit.

The most important commit is the fourth:
https://github.com/jtorrente/ead/commit/8385dc61a467252cbbfb424bd2d193f0a60fd11d
Most of how the api works is described there.

Three previous commits are required to prepare VarsContext and Variables.

Three latest commits fix classes using variablesSystem, as the API changed, and also tests.