4.0.x

This will merge the '4.0.x' branch, meaning it updates CSS to build against an Eclipse 4.3.x target (have been using 4.3.1).

CSS uses the RCP compatibility layer, because we still need online help, preference GUI, views, editors, …  It is now, however, possible to freely position editors and views, to drag editors out of the workbench window just like views.

Since the 4.0.x branch existed for a long time, there are some bogus whitespace changes, even though we tried to keep master and 4.0.x aligned.

The key differences:
* Code to select/reset perspectives
* IDs of views, editors, perspectives must all be unique. Can't use same ID for a view and a perspective
* org.hamcrest.CoreMatchers now offers containsString
* Eclipse plugins changed, so products (or their ..eclipse.. feature that lists Eclipse plugins) need to be updated. See SNS products for examples.