Refactor out code for dealing with cmdline simulators

Start integrating gpsim into simulator framework

Start adding gpsim functionality

Update support for gpsim

Update gpsim support to include loading, logging and parsing errors

Update pic12_executive unit tests to support 16lf1847

- modify bus_slave test to use correct pin for i2c comms
- modify bus_slave test to not check slave_handler explicitly
  so that we can get rid of it w/o breaking the test.

Update build_settings to use newly created pic16lf1847 processor

Update gpsim support to be functional on par with sim30

- now fully integrated into sim framework.
- feature parity with sim30.

Add patch for gpsim to support pic16lf1847

Update README with how to install gpsim

Add support for checkpoints in unit tests

xc8 unit tests can now specify certain checkpoints that must be
passed for the test to succeed.  A checkpoint is simply a call to the
checkpoint or checkpointl macros.  Checkpoints are listed in the header
of the testcase using Checkpoint:symbol1,symbol2=value

Update documentation

Update unit test to prepare for checking i2c packets

Add support for parsing gpysim i2c logs and turning them into
logical statements that can be checked against scripted output

Update unit test to delegate attribute handling to subclasses

Update binaries with new location for exceptions

Fix initialization bug in pic24 unit tests

Update exception type to MoMoExceptions and add intermediate tracking

Finish i2c capture support for 8-bit PIC simulations

Update test_bus_master to check i2c output of simulation.