Added the integration test project to the overall build
Added Selenium test infrastructure for verifying the workings of docking panels

RN: PanelDefinition objects can now specify the DOM ID of the panel view created from them
Fixed UF-144: panels not removed when last part is closed

The fix includes a refactoring that takes the logic out of PanelManagerImpl and gives it to the panels
that behave this way through a new abstract class, AbstractWorkbenchDockingPanel.

The fix includes unit and integration tests.

Some cleanup is still required; this will come next week:

* the PanelHelper classes will be eliminated
* the BeanFactory interface may be refactored to eliminate the horizontal vs. vertical method
  distinctions (the compass position is already passed as an argument)
* need more integration tests to cover various "orphan rescue" scenarios