Add some JavaDoc.
Add missing localized resources for setup app.
Add Identifiable API to assist with demand balance system choosing which consumption / power sources to consider for balancing. Make DatumDataSource extend this API, so all data sources can be identified consistently.
Make NodeControlProvider extend Identifiable, for consistent identity support across all controls.
Add info on the ?percent control ID.
Update KeyedSettingSpecifier API to allow more dynamic mapping of properties, more specifically to support nested map properties like changing "myBean.myProp" to "myMap[myBean].myProp" as is common when using Quartz jobs.
Changed how managed Quartz job properties are mapped, from using the trigger jobDataMap to the job jobDataMap. The reason is that we configure complex properties on the job's jobDataMap, and to manage those properties at runtime we have to update that map, not simply override them via the trigger map, which is what happened previously. This impacts existing nodes that have customized properties on managed jobs, but only the HTTP Ping bundle is in use so we are breaking compatibility here for a more sensible approach.
Update various package versions based on updated code.
Add randomness to mock power/consumption data sources to aid testing
demand balancing.
Initial implementation of "demand balancer" control, i.e. a control that monitors consumption (demand) levels and limits generation levels to be no more than the demand.