rigidbody: Fix inconsistency with world rebuilding

The rigid body world could be rebuilt on start frame and one frame after
start frame. The latter was necessary sice animation playback usually
doesn't start at start frame.
This lead to different simulations depending on which frame the
simulaton was rebuilt when animation was involved.

Now we only rebuild the world on start frame.
This is actually tricky to do since, as mentioned above, animation
playback starts on second frame. To work around this we rebuild the
world before the actual update.
The alternative would be to rebuld the world on every simulation change
(like the other simulations do it) but this is an expensive operation
and would be too slow.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@54990 954f8c5b-7b00-dc11-b283-0030488c597c
rigidbody: Revert to running simulation on frame update

Instead of flagging the rigid body world for frame update just call
BKE_rigidbody_do_simulation() recursively for all scenes.

This avoids having to constantly check if the simulation needs to be
updated.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@54991 954f8c5b-7b00-dc11-b283-0030488c597c