JS: pull out a specialized Input type for the SI units

Allows us to cache the final factor instead of possibly doing a division every time.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: replace the TagSet object with a single hashmap of Tag objects

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: remove a validation check for circular relative entity references

The RelativeEntity keyword now enforces this in parse()

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: remove the dependency on Clock in the Input class

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Make ExpResult unmodifiable

This is both for performance and guaranteed correctness.

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Expression min and max now take more than two arguments

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Added indexOfMin() and indexOfMax() to Expression system

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: add new object "AddTo" to Basic Objects

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: add new object "RemoveFrom" to Basic Objects

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: delete RandomSelector

This function can be provided by DiscreteDistribution.

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: re-write EntitlementSelector as a SampleProvider that returns the selected index

EntitlementSelector is now intended to be used with Branch.

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: delete ObjectSelector from Basic Objects

It is not required anymore to provide a superclass for EntitlementSelector
and RandomSelector

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: dropdown menu for SampleListInput should show only the SampleProviders with the correct unit type

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: move report writing to Entity and its subclasses

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: update version to 2014-46

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>