Algorithms: Support externally defined (shared) functions
Support interdependent algorithms
Expose implicit _raw value to engine

After many failed attempts, to have the raw of a param
available as param.raw, while at the same time making
param still refer to the eng value, i gave up, and just
put it as param_raw instead.
Algorithms: Support libraries and other languages

This adds some configuration options to an AlgorithmManager, where the
algorithms of an instance can be switched to something other than JavaScript.
For example when including jython-standalone on the classpath, all algorithms
could be written in Python.

Additionally, it moves the earlier introduced configuration option for
specifying libraries, from mdb.yaml to yamcs.<inst>.yaml, which seems like
a better fit.
Algorithms: put dictionary-like object in scriptengine

To facilitate having access to not just the engineering value, but also the raw value, etc, this code
puts a dictionary object in the engine, which is updated on each matching pval update

Uses janino to compile some code on the fly, see class comment in AlgorithmEngine for full explanation.
This commit also fixes some scoping issues where variables from one algorithm, would leak into
other algorithms.
Algorithms: Add data quality indicators to ValueBinding
Algorithms: Add a test to see whether python/jython is also working
Merge pull request #29 from fqqb/algorithms

Algorithms