Well...you would need to use an H-bridge circuit to allow the reversal of motor current to change direction. You can PWM the control pulse to the H-bridge circuit to achieve speed control.
As to stopping continuous rotation, you are going to need some form of feedback (as complex as encoders), but if all you need is end-to-end movement, perhaps a tactile switch (with debouncer) on both end points is all that is required.
You could use a latch to make it so that the act of hitting the switch changes the control signal to the H-bridge to achieve the reversal of direction. And you can use something like a 555 timer to supply the PWM H-bridge control pulse to have the motor move at something less than full speed (to move at full speed is pretty obvious). Of course, you can use a PIC or other uC to replace the latch and 555 timer.
I should say though, that it will overshoot by a lot if you want a very fast motion. (With this method, the motor is always moving at a constant speed up to the instant before it hits the tactile switch. Obviously, this is hard on the gears, hard on the switch, and hard on the motor. If a comparitvely large mass is being moved things will get very bad. In any case, regardless of speed, I suggest you use a lever-spring-type switch so that it can give a bit after it is activated (rather than the motor hitting a brick wall). A long lever is probably better since it can give more (just eyeball it, it doesn't matter- just so nothing get's damaged from a direct unabsorbed impact)
If you want fast, smooth and steady motion with minimal overshoot, you need to know the exact position of the motor rather than just left-end-point, right-end-point, and "somwhere in the middle". This requires an encoder or something like a potentiometer linked to the output shaft for position feedback. Along with this comes the ability to position at a specific point between the end points.
Oh, one last thing, it might be just cheaper and easier for you to buy a feather weight RC servo. It comes with motor, gears, and electronics that allow for continous position control (as opposed to end detection only) with smooth, fast motion, and controlled overshoot . It would be $15-25 pounds. I suggest the Hitec HS-65HB or HS-65MG (plastic gear or metal gear). The size is 24x12x24mm. Or there is the even smaller HS-50 11x21x22mm. I highly suggest this method if you don't especially if you do not have the motor yet, or you already have the motor but no gears yet ...finding gears to fit the motor is going to be difficult and expensive.