Refactor the header files, other fixes

- Refactor some items into a servo_driver.h for general hygiene
- Work around a potential semantic issue when assigning a bit field from
the results of the ! operator