common: add BE32 <-> HOST endian conversion
common: Add sha256 code from FreeBSD
libbladeRF: Supporting changes for backup/restore of flash

- Verify flash pages as they are written
- Add function for initializing the calibration region in flash
- Add functions to read/write flash images with sha256 and metadata
- Add support for unaligned read/program
bladeRF-cli: Add backup and restore commands

Usage:

```
bladeRF> help backup

backup <file> [address,len]

Backup a flash data to a file.
   `address'     defaults to the address of the calibration data.
   `len'         defaults the size of the calibration data  (256 bytes).

bladeRF> help restore

restore file [address,len]

Restore flash data from a file.

   <address>   defaults to the address of the factory calibration data or the
               address stored in the metadata section of the image if it exists

   <len>       defaults the size of the factory calibration data (256 bytes) or
               the length of the image given
```
bladeRF-cli: Add init_cal command

Initializes the calibration region in the flash

Usage:
```
bladeRF> help init_cal

Initializes the calibration region in the flash with new values
init_cal fpga_size vctcxo_trim

   <fpga_size>       Either 40 or 115 depending on the device model.
   <vctcxo_trim>     VCTCXO/DAC trim value (0x0-0xffff)
```

Conflicts:
	host/utilities/bladeRF-cli/src/cmd/cmd.c
Add debian/copyright entries for new code
bladeRF-cli: Help text and error message touch-ups
libbladeRF, bladeRF-cli: Simplified flash image format and handling

These changes simplify the image format a bit; the metadata fields are
flattened into the image to simplify both image creation and manually
viewing/extracting contents from images.

The checksum has been moved to directly after the file format's magic
value (i.e., signature), to make it a bit easier to just extract data
via dd. Similar to the approach used by mkimage for U-Boot headers,
the checksum calculation is performed over the entire image, with the
checksum field zeroed out.

Touched up CLI backup/restore commands and separated <address>
and <length> to separate args.
bladeRF-cli: Added flash_image command and alphabetized commands
bladeRF-cli: flash_image timestamp shown in human-readable format
bladeRF-cli: Split backup and restore commands, misc cleanup
libbladeRF: Fixed length of FPGA region of flash in API header
libbladeRF, bladeRF-cli: Reworked cal data generation and misc cleanup

The function to create cal data now is a wrapper around
bladerf_alloc_image() which initializes the returned image with
calibration data.

The associated CLI command now allows this to be either written to a
file or to the device directly.

API header cleanup: Pushed the lower level functions to to the end of
the header, so the functions people will use more frequently will be at
the top of the generated documentation.

Also added a missing API_EXPORT and made the Doxygen color scheme a little
more blue. (Tired of grayscale ;) )

Windows cleanup: Added get_timestamp() implementation, cleaned up
warnings, address some portability issues.
bladeRF-cli: Removed debug output, handle invalid timestamp cleanly
bladeRF-cli: Address address and length to flash_image output
bladeRF-cli: Renamed flash backup, restore & init_cal commands

Also included, some minor fixes.
libbladeRF: Typo fix in API header
host: Version bumps for added flash backup, restore, and cal init