Clean up baking functionality

+ Continues work of 4952ce135e3b3a0fbd595f9480c79f8e7bd4e3c0 and 4d1ee4df4e6fe90c986c3fa44d159d48f86e6978
+ Split `Recording` class into header and source files
+ Exclude missing app inverseDyn
+ Apply rewritten replay functionality to bulletCollision app
+ Replace `Recording::addSkeleton()` to `Recording::updateNumGenCoords()` to support adding and removing skeletons before baking simulation results. Adding and removing skeletons during simulation does not work for replay the simulations. See #180.
+ Fix styles