Major design change in domain objects.

In this release, we addressed the law of Demeter violation in
BomPart.cost().  In doing so, we changed the design of domain objects
greatly, including elimination of BomPart.

Details:
1. In last release, we noted Demeter violation in BomPart;
2. Problem cause — BomPart just a middleman;
3. Solution —Got rid off BomPart;
4. Now we have Bom and Part — both in components;
5. Within Part, we grouped objects that go together;
6. Bom and SourceCode grouped in Site;
7. Quantity and UnitCost in Units;
8. Part attributes now stored in a collection;
9. Part works with Site and Units to determine cost;
10. Bom.costable() now takes part and source code;
11. Configuration changed to sync with these changes;