Hi! Regarding disallowing rotations (for the player and the platform), you may simply set the angular inertia to zero. To do that, you need to call the RigidBody::new constructor with the
AgularInertia on the second tuple-argument set to zero.
The proper way to handle moving platforms would be to use what other physics engines call "kinematic bodies". Unfortunately, they are not yet supported by nphysics and I don't think there is a very clean workaround. The issue with translating the fixed joint around as you propose is that a player resting on a moving platform won't move simultaneously (because the platform will virtually have no velocity). So you may have to handle that yourself using impulses when the player is in contact with the platform.
Regarding the player, the simplest method would be to control its movement applying impulses at each timestep. You might want to tune the friction and restitution coefficient to prevent him from getting stuck because the impulse is not strong enough, and to prevent him from bouncing against walls.