Fix for issue #466 and #467 (they're duplicates). We were not clearing the USB interrupt flag before enabling the interrupt.
Also added LENGTHOF macro, and tried compiling with asserts turned on (SODEBUG) and something dies. Still need to debug that. But this code change now allows USB serial to work again.