Set the user data pointer in the body/fixture definition

It's copied from there, so then we don't need to call SetUserData.
Removed the Joint.world property

There seemed to be no reason for setting this property at all, because
before a joint can be created it first needs two bodies from the same
world. It should just use the world that those two bodies belong to.

The only reason a b2World pointer is still present is for convenience.