Initial reorg of the Coopr trunk. The goal of this reorg is to decompose Coopr into independent packages, each of which can be maintained more independently.