Update pcb build system and bugfixes

- support finding eagle via path
- support automatic creation of Diode Descriptions

Update controller board to rev 4.0.

- New version contains BTLE via Microchip RN4020 module
- Voltage supervisor with hard reset capability from bluetooth
or via microcontroller
- Current monitor for solar and external charging current
- Move 2.8V linear regulator and add RF filtering caps to fix RF
interference problems on GSM transmission.

Rename combined_controller to controller

We don't have different assembly variants anymore so the
combined isn't needed.
Remove extraneous backtick.
Use lf (unix style) line endings for the python files in tools/bin (otherwise syncing on Windows and then running on Linux causes issues.
Merge pull request #147 from amcgee/fix-python-crlf

Fix line-ending error ': No such file or directory'
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.
Merge pull request #148 from timburke/pr-sim-8bit

Improve 8-bit unit testing and update pymomo.simulator to support gpsim
Merge pull request #141 from timburke/pr-controller-v4

Update Controller Hardware to Version 4.0