[CDF-349] - Dashboards.removeComponent does not remove components with the 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
[CDF-349] - Dashboards.removeComponent does not remove components with the same name, if an object is passed
[CDF-351] - Dashboards.addComponents does not check for components with the same name
[CDF-348] - Dashboards.getComponent[ByName] should not use eval, for consistency with .getParameterValue

  - fixed documentation according to JSDoc 3
  - reverted changes in Dashboards.getComponentIndex and Dashboards.removeComponent to support a component and an index as arguments
  - added more tests
Merge pull request #247 from afrjorge/CDF-349

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