Merge pull request #53 from amcgee/vagrant-dev-environment

Create a virtual development environment
Fix PIC24 MIB code

- Now rpc_queue queues mib_buffer along with the rpcs
- Attempts to wait until the bus is clear before transmitting
Merge branch 'dev' of github.com:WellDone/MoMo-Firmware into pic24-rpc
Fix bootloader code to not have a hardcoded reset vector

This reset vector can and apparently does change frequently so
fetch it by reading the first 2 words of flash.
Current version of demo code in pic24
Demo Momo Reporting Data
Streamline PIC24 MIB code
Add debug flag endpoint for testing
Update pic12_executive to use new mib version.

- slave mode sends return status + return value on all reads rather
than sending the return status on odd reads and value on even reads.
This makes the code simpler and more robust.

- master mode now expects slaves to return status+value as above
Streamline, fix and update pic24 mib code.

- (master) no longer send unneeded write to clear the bus.
- (master) always read the return status and value together
- (slave) always send return status+value on all reads, rather
than alternating
- (master) make sure the bus is idle before starting an rpc

The last change listed above makes the pic24 multimaster compatible.
The pic12 code has been multimaster for a long time but multimaster
support was lacking on pic24.  This is now fixed.  A MIB rpc call
should no longer fail ever now, even if the bus is locked.  The pic24
will simply requeue the command and try again later.

If there are intermittent RPC failures, this is a bug and should be
reported for fixing.
Add ability to inspect i2c status register on fsu

This is useful for debugging multimaster issues to see
what the PIC thinks is happening on the bus.
Turn off demo mode
Merge pull request #55 from timburke/pic24-rpc

Fix PIC24 MIB code
Merge remote-tracking branch 'upstream/dev' into robustify-gsm-module