Add double buffering routines

Added the double buffering routines to control the USB endpoint configuration table. Works, but haven't integrated it into the CDCACM implementation.