Enhancement : Part presentation abstraction

TableWrapLayoutUtil should be public and located in the same package
as GridLayoutUtil.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=416279
Fix : DataService should be synchronized

Since a single service instance can be used by multiple threads at the
same time, all services that maintain state should be synchronized. 

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420314
Fix : JavaType validation is not refreshed after the create action

Validation for JavaType properties is not refreshed when a new type is
created by JavaTypeCreateActionHandler.

Steps to reproduce:

1. Create a java project
2. Add a file sapphire-gallery.xml
3. Go to Value properties > Java Type Names
4. In the 'Required class 1' property, type "com.test.Foo"
5. Click on the create button
6. Notice that validation continues to say that type cannot be found

The regression is due in part to turning the ValidationService into a
DataService. In the past JdtJavaTypeReferenceService called refresh on
its property when it detected a Java model change and validation would
be recomputed, but that no longer works. The solution is to broadcast an
event from JdtJavaTypeReferenceService instead. The event is caught by
ReferenceValidationService and property validation is updated.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420348
Enhancement : Part presentation abstraction

SapphireTextCellEditor should be public.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=416279
Enhancement : Part presentation abstraction

Removed an unnecessary exception.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=416279
Fix : Memory leak in DefinitionLoader

DefinitionLoader leaks a self reference when it creates a resource
loader for sdef as an anonymous inner class. The end result is that the
DefinitionLoader instance never goes out of scope, its finalize method
is not called and sdef is not disposed.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420542
Fix : Memory leak in editor outline

When an editor is closed, the outline view continues to retain
references to various editor actions, pinning various Sapphire objects
in memory that should have been cleaned up. The memory leak likely lasts
only until the next editor is opened.

Repro:

1. Ensure that the outline view is open
2. Open and close any Sapphire editor
3. Invoke garbage collection
4. Take a heap dump
5. Search for DefinitionLoader
6. Notice that the live instance is held in memory via the outline view

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420545
Enhancement : Diagram connection establishment should be customizable

Introducing connection service API and the default standard connection
service.

Bugzilla : https://bugs.eclipse.org/bugs/show_bug.cgi?id=419509
Fix : ServiceContext should cache service lookups

Service lookups are fairly expensive. Past lookups should be cached to
improve performance.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420659
Enhancement : Part presentation abstraction

Fixed several regressions in the handling of form component visibility
changes.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=416279
Enhancement : JavaType from an IJavaProject should expose IType

When a JavaType instance comes from an IJavaProject it wraps an IType,
but there is no API to access IType. The return type of the existing
artifact method should be modified to allow either a Class or an IType
to be returned depending on the origin of the JavaType instance.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420816
Fix : Page book does not update scroll bars after page change

When a page book changes a page, the presentation does not update the
nearest scroll bars, which can lead to content clipping.

1. Create sapphire-gallery.xml and open the editor
2. Navigate to list property -> heterogeneous
3. Add a child element using table property editor
4. Adjust the vertical editor space so that it just barelly shows the
   string value property editor in the details
5. Add a child element with enum using table property editor
6. Notice that the enum value property editor is partially clipped or
   not visible in details and there are no scroll bars.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420828
Enhancement : EL parse exception should include the expression

When an expression fails to parse, the developer can have a difficult
time finding the problematic expression. Including the expression in
the exception message would making finding it in source easier.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420833
Enhancement : Diagram connection establishment should be customizable

Part 2: Refine the connection service API

Bugzilla : https://bugs.eclipse.org/bugs/show_bug.cgi?id=419509
Fix : @PossibleValues cannot be used with a list property

One can attach a PossibleValuesService implementation to either a value
property or a list property with an entry type containing a single value
property. The latter approach is required by certain property editors,
such as the slush bucket and the checkbox list. Unfortunately, the 
standard implementations of PossibleValuesService that are based on the
@PossibleValue annotation do not work with list properties.

Tests: PossibleValuesTest
Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420907
Fix : Events missing when listening on a path

When a listener is attached via a path, the events for intermediate
list properties are not delivered.

element.attach( listener, "Entries/Name" )

Tests: TestPropertyEvents.testEventsListPropertyPath()
Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420925
Fix : Page book pages do not scale vertically with their book

The previous fix has regressed, once again requiring pages to have a
separate scale vertically setting.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=414520
Fix : Check box list property editor shows incorrect entry validation

When an image is attached to the list entry element, the check box list
property editor presentation displays the image with an overlay showing
the validation status. In this scenario, toggling an entry to checked
incorrectly shows a validation error if the entry's value property has
an @Required annotation.

Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420926
Enhancement : Diagram connection establishment should be customizable

Fixed a FindBugs warning.

Bugzilla : https://bugs.eclipse.org/bugs/show_bug.cgi?id=419509
Releng : Adopt Eclipse 4.4 M3 (Luna)