Matt ayman frames

Merge in branch from Hackathon to create new ModelComponents: Frame, BodyFrame, FixedFrame and Station. The functionality is tested in a separate test case testFrames and in testComponents but is not incorporated into any Models or computations yet. Please take a look at the headers and give us feedback if you plan to use this functionality. The plan is to use Frames to attach geometry, joints, wrapping etc. and to make Markers utilize Stations.
We decided a while back not to use this style in our examples and test cases any more because it leads users to disaster! Instead use:
```c++
BodyFrame* rod1Frame = new BodyFrame(rod1);
dPendulum.addModelComponent(rod1Frame); // Model takes over ownership
FixedFrame* atOriginFrame = new FixedFrame(*rod1Frame);
atOriginFrame->setTransform(relXform);
dPendulum.addModelComponent(atOriginFrame); // Model takes over ownership
```
Then no `disownAllComponents()` is required.

The API seems awkward, but it is still better than the inscrutable stack-allocated disaster-in-waiting!