Reorganization of single and triple letter protein codes

This pull request was triggered by the discussion [here](https://github.com/biopython/biopython/commit/ca7762e8247dbcd6b3cbc6d0a7082eaf36dceb46#commitcomment-2943352).

Summary of the changes:
- I've moved the SCOP dictionary into `Bio.Data.SCOPData.protein_letters_3to1`. Other imports relying on the initial SCOP dictionary location have also been renamed. For the PDB imports, I use `import Bio.Data`, except for `PDB/__init__.py` where the dictionary `protein_letters_3to1` is imported directly. I chose to rename the dict to make it in line with a corresponding dict in `Bio.Data.IUPACData`. And since we may break some scripts with this update (`Bio.SCOP.three_to_one_dict` is now gone), I thought we should just go all the way..

- I've also moved the protein dictionaries in `Bio.SeqUtils.__init__.py` into `Bio.Data.IUPACData`. They're now split into two: extended (containing codes for 'extended' amino acids) and non-extended. By default, `SeqUtils` uses the extended one. These dictionaries do not contain stop codons, instead they remain the default `custom_map` argument, just like before.

- There's also small change in `seq3` to prevent unwanted update of these dictionaries, as they are now available Biopython-wide and may be used in modules other than `SeqUtils`.