Updated button handler, fixed some minor errors in parsing.

We can now open doors, and react to events on the fly.  Button presses and RFID scans work.
There are some problems in the 'default accept' behavior of certain inputs, but nothing beyond
fixing.  No need to fix caching, database queries appear to work well. Some problems with not
always correctly parsing serial input. Also some problems with occasional serial exceptions.
Not sure what the source of these issues is, since they only appear when running in the full app.