Miscellaneous but important bug fixes.
Squashed commit of the following:

commit 86bad6a0d147d28bc08e8545caa17e8e40df8c54
Author: Ian Martin <ian@locicontrols.com>
Date:   Fri Oct 10 12:55:42 2014 -0400

    Push r4 and r5 as needed since some ISRs modify them.

commit 97f94b742b17e8fd8000ce154a0ec99a0ac731ec
Author: Ian Martin <ian@locicontrols.com>
Date:   Thu Oct 9 20:16:19 2014 -0400

    Fix typos in UART peripheral.

commit 3ec2416b529cd67fac76a5e2d1eca84fdfe91631
Author: Ian Martin <ian@locicontrols.com>
Date:   Thu Oct 9 20:14:16 2014 -0400

    Offset the GPIO DATA register because address bits 9:2 serve as a mask.

commit 429471653e0c5c3d3ce4acf5245ab89cd5937a1f
Author: Ian Martin <ian@locicontrols.com>
Date:   Thu Oct 9 16:30:23 2014 -0400

    Fix UART0 register addresses.

commit 24b9b1d9eceed90bceb9cde29c93cfa3a21d5f19
Author: Ian Martin <ian@locicontrols.com>
Date:   Thu Oct 9 11:10:00 2014 -0400

    Add missing reserved fields to the GPTIMER register structure.

commit 00adefcf29224342d575c4c6f7df611464ea7642
Author: Ian Martin <ian@locicontrols.com>
Date:   Thu Oct 9 10:30:36 2014 -0400

    Fix improper configuration of internal 32-kHz RC oscillator.