Updated libswiftnav.
Merge pull request #5 from gsmcmullin/submodules

Include libopencm3 and libswiftnav as submodules.
Console: Fix PRN numbering off-by-one in observation view
Merge pull request #4 from henryhallam/master

Console: Fix PRN numbering off-by-one in observation view
Add function to show total number of erase/program operations required to
program a particular Intel Hex file. Have write_ihx keep track of its
elapsed operations so other processes can monitor it.
Use USART_DEFAULT_BAUD in usart_test
Two '##'s in '#!/usr/bin/env python'
SBP now using libswiftnav SBP implementation.

 - All callbacks updated to follow new function prototype
 - screaming_death updated to use libswiftnav SBP functions too
 - NAP hash checked from init() after sbp_setup so screaming_death
   works if hash check fails
 - Flash callbacks updated to return an error code in the
   MSG_FLASH_DONE message instead of calling screaming_death.
 - flash.py checks MSG_FLASH_DONE return code but doesn't attempt
   to handle errors properly
Merge branch 'master' of github.com:swift-nav/piksi_firmware into new_sbp
Updated all tests for new SBP code. Everything building.
Update Makefile so libopencm3 is only built for F4.
Change "_handshake_received" to "handshake_received", external modules
may want to use it.
addr_sector_map should be self.addr_sector_map
Merge remote-tracking branch 'fergus/master'
Pulling in latest libswiftnav for SBP fixes.
Change update rate to 5Hz for testing.
Only update observation view when we have a full set of observations.

Reduces flicker in the display.
Removing dd experiments, will be moved into an experimental branch.
Cleaning up in track.c
Added returned error codes for m25_flash.c functions.
Send error codes back to host in flash callbacks.
Define new error codes for invalid range and invalid sector.