Testing row writing logic.
Finished code for pic12 reflashing
Merge branch 'feature-mib-refactor' of https://github.com/WellDone/MoMo-Firmware into feature-pic12bootloader
Merging Austin's MIB changes and checking to make sure that everything works.
Reworked MIB Code to not send parameter headers with each parameter
but rather to send a parameter spec that describes the parameters
as a third byte in the bus command packet.  The change is done on pic12.
On pic24 the current endpoints need to be updated to use the new way of
calling rpcs (cf bus_master_rpc_async in bus_master.c) and loading params.

You don't have to call loadparams() anymore.  Just use plist_set_int16(n, val)
to set the values, fill the buffer if there is one and then call
bus_master_rpc_async with the param_spec *including the length of the buffer*.

This code is untested on pic24 but should work.  Currently testing on
pic12.  Note you need to update the current endpoints for it to compile.

All the parameter headers and structs for int16 and buffer are now gone
Removing l.obj which inadvertantly got tracked.
Fixed i2c bugs on pic12.  Bus master code works.
Switched bus master code to mainline because XC8 cannot figure out
that it won't be called reentrantly and I can't force it to not
duplicate all the code :(.
Changed bit operations to reduce code size on pic12.
Finished major changes that enable lower code size on pic12.  Pic12
compiler is terrible at compiling bit operations and using bit
arrays so some parts needed to be expressed differently and others
needed to be hand-coded in assembly.

MIB now clocks in at 41 bytes of total RAM including the 20 byte
mib_buffer and 10 byte mib_state. There's room for improvement:
- removing duplicated code once xc8 supports #pragma interrupt_level 1
	like it claims it does
- further optimizing bit operations.
Fixed two bugs with i2c_master logic due to change to new mainline
callbacks on pic12.  Master logic now works sending int parameters.
Reflashing test of pic12.
First complete version of pic12 bootloader.  Testing on simulator.
Fixed bug in mib_hal.as computing parameter length. Was using
EEADRH as a temporary register but EEADRH:7 is not implemented
and read as 1 meaning I added 128 to the length of my parameters :(.

Found and fixed.  Not caught by VSM unfortunately.
split pic12 i2c send and receive routines into two so that XC8 would
stop duplicating code.  Code size dropped by 100 words (12%).  Bam.
Testing now.
Adding commands handled by the pic12 mib executive
Merge pull request #15 from WellDone/feature-pic12bootloader

Integrate pic12 bootloader code and revamped MIB parameter handling.