added moving buffers

Added the moving buffer structure and a few methods to interact with it.
A few updates

Increased the packet size to 32 bytes, this currently includes a number
of reserved spaces that are set to zero on initialization. Also, fixed
an overflow problem with the "MovingAvg()" method by upgrading the "sum"
variable to a 32-bit integer.
Some improvements

Reorganized the initialization routine to make sure the watchdog timer
is turned off first. Also added an InitADC() function. Added a byte to
the packet stream that reports why the CPU was woken up. Added a line to
enable the SMCLK to hopefully get the RCT working.
Current Measurements Added

Current measurements from Port2.0 were added and incorporated into the
data packets. This required a lot of changes including changing the ADC
over to operate in "repeated sequence of channels" and setting up TA0.1
to trigger conversions and modifying the way the ISR for ADC conversions
works. You may want to wear a helmet when you try out this commit....
Added wakeup counter

Added a wakeup counter to give a count of the number of times the CPU
has woken up. Also fixed a few bugs, it seems to be working now although
the power consumptions seems to be getting unstable.
Also added .map and .out to .gitignore because these files don't seem
like they need to be tracked.
Merge pull request #3 from kjgregory/master

lots of changes