[CDF-349] - Dashboards.removeComponent does not remove components with t...

...he same name, if an object is passed

	- Dashboards.removeComponent removes components when a string or and object is passed
	- Dashboards.removeComponent also removes the component from the global window object if globalContext is true
[CDF-351] - Dashboards.addComponents does not check for components with the same name
	- Dashboards.addComponents replaces components with the same names as the new
	- Dashboards.addComponents also adds the components to the global window object if globalContext is true
[CDF-348] - Dashboards.getComponent[ByName] should not use eval, for consistency with .getParameterValue
	- Dashboards.getComponentByName returns the object from the global window object if globalContext is true, or from Dashboards.components otherwise