Brexit deal has been struck - Johnson and Juncker announce 'fair and balanced' agreement