Compare extras when checking if a requirement has already been specified, and take a union of the extras before installation. Co-Authored-By: Sachi King <nakato@nakato.io> Closes #3046, #3189