Here's a rough idea of how this might work. Maybe I can come up with the code later.
First, take the rotation vector of the vehicle (that you get from getVehicleRotation()) and transform it into the Cartesian frame, such that the vector corresponds to <1,0,0>. Then figure out the desired rotation (<0,1,0> for left, <0,-1,0> for right, <1,0,0> for front, <-1,0,0> for back), and transform this back into the original frame. You now have a new direction vector for the vehicle. Take this vector, multiply it by some scalar to get the magnitude (which corresponds to how greatly you want to push the vehicle), add it to the vehicle's current velocity vector, and apply it to the vehicle using setElementVelocity().
There might also be a much simpler way, as this way involves converting between frames (defining a local frame for the direction vector, converting it to the Cartesian frame, applying the desired rotation, and converting back), but I am just writing this so I don't forget.
EDIT: Here is a simpler way:
The first step is to get the vehicle's direction vector from it's rotation .
For "front", our new vector is the same as the vehicle's direction. For "rear" it's the opposite: <-dirX, -dirY, -dirZ>.
For "left" it's a bit more difficult (and "right" is just the opposite of left):
1. Get the vehicle's heading vector from the direction vector (or could use just direction vector).
2. Get the vehicle's roof vector, which is the direction it's roof is facing (e.g. facing the sky when the car is on a flat road).
3. Take the cross product of the vehicle's roof vector and direction vector to get the left direction.
The problem is I'm not sure how to get the roof vector. I'll think about some more when I have time.