Enhanced PID algorithm

Enhanced PID algorithm based on the series of blog posts at http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/
Specifically:
    1. Avoid derivative kickback - http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-derivative-kick/
    2. Allow smooth on-the-fly tuning changes - http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-tuning-changes/
    3. Reset windup mitigation - http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-reset-windup/
    4. Bumpless initialization - http://brettbeauregard.com/blog/2011/04/improving-the-beginner%E2%80%99s-pid-initialization/
Bugfix: added resetPID() call in RESET_ENCODERS statement,
to ensure that PID gets reset when encoders get reset.
Bugfix - removed reset wind-up fix

Removed the reset windup prevention code, as the old code already
took care of that by only incrementing Ierror when output was not being clamped.
Merge pull request #6 from KristofRobot/enhancedPID

Enhanced PID algorithm