Create the OASIS development stream in trunk

A. Proposal for the Stages

Stage 1: Foundation under Construction

Community expectations

1. Start from empty trunk (after the current trunk is branched off to 1.x)

2. Establish processes in the project to keep the code of the foundation clean, simple and interesting to work with.

3. Get the right set of tools from sca-equinox branch to help us enforce and maintain modularity with clean SPIs.

4. Copy modules from sca-equinox branch into trunk

5. Perform thorough cleanup for the core set of modules

Stage 2: Functional Bring-up

Community expectations

1. Merge changes from the 1.x branch into trunk
2. Further apply the OSGi modularity to extension modules
3. Bring up the unit tests
4. Bring up the samples, itests, vtests, demos and tutorials
5. A redesign of some problematic or over-complicated areas like policy for example (that's a good one to redesign as it's also impacted by the OASIS changes).

B. Some TODO items for Stage 1

1. Use the Import-Package/Export-Package OSGi headers for Tuscany modules to define cross-module dependencies and enforce SPI contracts

2. Reduce the Import-Package/Export-Package to be only a minimum set of SPIs

3. SPIs have not changed for over 18 months and a new base gives us a chance to clean up the SPIS that have been polluted with workarounds and non-optimal changes.

4. Extract SPI layers for some modules

5. Cleaner code, a pass through all the modules to add comments, adjust the visibility of classes/methods, sort between static and instance methods, remove deprecated/unused code, organize imports, etc.

6.The project has accumulated a lot of dead code over time. The dead code makes it difficult to find your way through the code base and causes more complication.

7. A consistent separation of extension modules into model and runtime

8. Convert test cases from Junit 3 style to Junit 4 style