Add the concept of TypedDomain.

A TypeDomain is an abstract domain which depends on an external environment.
Add the concept of ObjectModel.

An ObjectModel is a specification of the way object works in a given
language.
Fix pair sharing test suite.
Add first draft of ALPs implementation.

In this implementation each node contains a list of outgoing edges.
Change implementation of ALPs domain.

In this implementation edges are separated by nodes.
Add new methods for ALPs graph and new CastVariable API.
Fix Soot bugs which came out with last changes.
Add new operations for ALPs and first draft for union.
Fix to ordering and union for ALPs.
Add ALPs domain to the user interface.
Add partial implementation of the connect method for ALPs.
Add a DisjointSet implementation in the util package.
Add the intersection method for ALPs.
Add implementation of connect for ALPs (although I known it is not correct).

Moreover, complete support for ALPs in Soot object analysis
Fix operations of ALPsDomain.
Fix SootObjectModel and SootClassReachableAnalysis.

This has probably broken other test. Check them.
We still need to decide how to deal with arrays and interfaces.
Add test suite for ObjectModel and SootObjectModel.
Change name of lt method in ObjectModel for greater coherence.
Fix test classes for JVMSootSuite and SootObjectModelSuite.
Remove spurious output.