Make template command_map.asm not emit brw if the the table is empty

This helps make the pic12_executive reflasher smaller
Add explicit build dependency so unit tests are properly rerun
Add new style mibapi psect so unit tests on app modules compile
Add first version of mib12_executive reflash utility

Takes in a mib12_executive image appended after the reflashing stub,
erases and then reprograms the mib12_executive.  Invalidates itself
after reprogramming is complete and boots into the new executive.
Refactor build system config information, support reflashing exec

Add tooling support for building an application module capable of
reflashing a mib12_executive in situ.

Standardized and collected code related to processor definitions
Finish shrinking mib12_executive

Mib12 executive is now highly optimized. Build system is adjusted
to use the new size of the executive for compiling application mods.
Update reflashing tool
Add hextool - generic tool for hexfile manipulations

Just like mibtool, modtool and pcbtool, hextool is a swiss-army knife
but this time for manipulating hex files corresponding to pic12 code.

It can merge, compare, insert and patch pic12 hex files using routines
from pymomo so that they're accessible programmatically as well.
Updated test harnesses to compile under refactored build system
Add automatic building of executive reflashing modules

mibtool build_reflash command now supports building an app module
that when loaded onto a mib12 chip, will reflash that chip's executive
with a payload encoded into the app module.
Add marker instructions to idenfity reflashing module

This lets mibtool more accurately infer if it's working with
a real mib12_reflasher and minimizes the chances of an error
occuring