Improved Preference Dialog and Pages API

Example:
```java
WorkbenchPreferenceDialog dlg = new WorkbenchPreferenceDialog();
dlg.open();
MavenPreferencePage page = new MavenPreferencePage();
dlg.select(page);
page.enableRepoUpdate(true);
```