libbladeRF/bladeRF-cli: Add ability to backup and restore flash regions

Usage in bladeRF-cli: 

```
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
```

The images written by these functions have a header/footer with metadata (address,length,device serial ...) and a hash of the header+data. (See image.c for details)

This addresses #77