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