Small improvements to the segway driver

Hi William,

I made these changes a couple of weeks ago and tested them on a RMP 50 for a period of 2 weeks. This pull requests includes:
1) 3 bug fixes. commit b55632b is an absolutely essential one for anybody using acceleration limits not equal to 0, as the driver can start at random velocities and not be able to stop the segway in time. I've had 1 crash before I fixed this bug.
2) Odometry Scaling. Useful for high payload and the RMP 50 where the integrated value seems to be half of the true value with no payload. I re-checked the math and the segway packet schematics, and it is not a bug. Something seems to be wrong on the RMP 50 at the very least. This enhancement defaults to no effect.
3) Velocity Limits. Useful when undergrad students are testing code they have written on the robot. Defaults to no effect.
4) Odometry reset. Useful for autonomous navigation. For some reason, on the RMP 50 sometimes the integrator reset does not work on all 4 integrated values. I could not figure out why, and it seems like the packets are being sent correctly. There are a couple of parameters that allow resetting odometry to 0 if the hardware does not do so itself. Defaults to no effect.

I will be submitting a catkin patch for this stack and libsegwayrmp over the next 2 weeks in preparation for a groovy deb release.

Thanks!!