Drastically changed code so that buttons were working properly with interrupts.  Before they were still polling at one point.  Also, fixed a bug with the interrupt where the interrupt flag was not being cleared properly.