core_generate_update_payload: initial commit

Takes a filesystem image and generates a update.gz that is signed by N 
provided private keys and verified against the N public keys. This is so we
can do keyrotations.