Add support for specifying PDB codes, filenames, and file objects [ready to merge]

I've taken a stab at adding support for specifying PDB codes, filenames, and file objects as an alternative to `PdbStructure` objects only for `PDBFixer`.  

More support could yet be added (e.g. gzipped files or streams), and the robustness could also be improved.

I started this to be able to add in simple doctests, which I have also started, but there is more "support material" than I would like, and this is somewhat distracting from the main point of the doctests.