JS: pull out an explicit entrypoint for Group Input

This is the first step towards normalizing the compat keyword handling and then
removing it.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: pull the keyword application code into InputAgent from Group

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: remove the ability to set synonyms for Compat keywords

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: when processing the drag events, test a local copy of the selected Entity

The handle drag calls can occur from the newt threads, while the selected entity
can be written from multiple places. Cache a method-local copy to avoid null-pointer
exceptions when we lose the race.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
TLS: avoid infinite loop when finding the next open/close time

Fixes BUG543 - test the next time is not so close to the beginning of the
next cycle that we will loop around the cycle boundary over and over.

Signed-off-by: Geoffrey Savinkoff <Geoffrey.Savinkoff@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: fix unit tests that were directly constructing Entities

Must define entities so that they are reachable in the parsing code to apply keywords
to them.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Make a separate file for Imperial units

mi, ft, in, mph, ft/s2, psi, in2

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Make a separate file for nautical mile units

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Track the time entities enter a Queue

Required to allow a Resource to choose between Servers

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add the EntityDelay object

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add the Resource object

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add the Seize object

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add the Release object

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add EntityDelay, Resource, Seize, and Release to the Basic Objects palette

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Minor change to the use of EntityTarget in EntityConveyor

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

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Correct error message in LinkedComponent

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add helper to KeyInput for future use

Signed-off-by: Geoffrey Savinkoff <Geoffrey.Savinkoff@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add helper to ValueTable for future use

Signed-off-by: Geoffrey Savinkoff <Geoffrey.Savinkoff@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: pull out a object holding the indices in the parent record where the keyword is specified

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