Fixed update headers

Fixed the update headers function to work with docs created with the
Drive API. Also prevented infinite loops when it does fail. Instead it
exits gracefully. Also fixed the header order to match legacy citable
docs. TODO: go through my error handling functions and implement the
same exit.
Added key events to Citation Controller

Enabled a unified key event handler by broadcasting key events from one
controller to the next. However, this still doesn’t solve the problem
that one needs to have a field focused for the event to be picked up.
It also keeps the key event function buried in a controller where it
doesn’t really belong. TODO: move the key event function to an
independent controller that handles global key events. Then Have the
docs controller subscribe to events the new controller broadcasts.