[FIX](lint) Several non-desired global variables, unused variables, assignment/comparison error, wrong this in logging call, wrong argument name
(cherry picked from commit 5a6f3eb6a3e9992614dea4660a5bcd233448867b)
Conflicts: bi-platform-v2-plugin/cdf/js/Dashboards.js
[FEAT](Dashboards.bindControl) The control.type implementation is now only applied to a control if it is not already an instance of that type. This allows that Dashboards.addComponent or, directly, Dashboards.bindControl, can be called even in cases where a control was created (dynamically) directly as new _ControlType_().
[FEAT](Dashboards) Added new methods to allow scenarios where dynamically generated components must be maintained: _Dashboards.addComponent_ (which allows specifying the insertion index as well), _Dashboards.removeComponent_ and _Dashboards.getComponentIndex_
(cherry picked from commit 9051ab0c3bdde64bbb100ae4051462afc4e8c268)
Conflicts:
	bi-platform-v2-plugin/cdf/js/Dashboards.js