First working version of the pic12 bootloader.  It asks for firmware
from the controller at the firmware endpoint and uses that to flash
itself.  I have confirmed that it flashes itself correctly.  The only
issue currently is with not properly reflashing the last row of program
memory.
Merge branch 'dev' into feature-pic12bootloader
Merging latest momo-commander fixes
Acheived a working version of the pic12 mib executive and bootloader.
The executive now can reflash new application code, check to see if
a valid application is loaded (by looking for a magic number in a
certain place in the application's ROM) and will automatically jump
into that application's main loop upon completing initialization.

A skeleton application module is now available in mib12_sdk and the
bootloader has been renamed to pic12_executive.

Todos and caveats will be added and tracked in an issue on github.
Compressed mib12 executive code and added interrupt handling ability
for application code.  mib12 executive is now ready to implement
autoregistration but that is not done yet.
Merged MIB specific code from pic12 shared library to mib executive
so that applications can link against the shared library with out
pulling in the MIB code.
Minor change.
Updated mib12_sdk and pic12_executive to reference the same version
of the MIB application description structure.  Added 2 bytes to the
struct to allow for each application to describe itself so that the
mib executive can properly autoregister for a bus address.
Added watchdog timer to track application code and make sure it can't
brick the pic12.  Restructured application code to have an init routine,
an interrupt handler and a task that is called in a loop between sleep
instructions.  If the app does not wish to sleep it can never return
from task but must call clrwdt() at least once per second.
Modified executive to use watchdog timer and tested
Finished adding watchdog code to pic12 executive.  Application's now
have a 1 second watchdog and the mib executive will wait 4 seconds
after a watchdog timeout has occurred before calling back into the
application code to make sure the user has a chance to reflash
if necessary.
Reimplemented large parts of mib12 i2c code in assembly to reduce
code size and minimize dependence on pro mode of xc8.  Code size
down to ~1140 words now including all of the mib housekeeping and
reflashing code.
Implemented automatic module registration on pic12.  It enumerates
itself to the pic24 controller, asks for an address and assigns that
address to itself upon reception.  This is tested and working.  The
module delays 1 second before asking for an address to make sure the
controller has time to initialize itself in the event of a power on
reset where the controller is also coming out of reset.
Ignoring build intermediate files.