Fix PDBIO blank occupancy handling

Cribbed @peterjc's suggested fix (with a few minor tweaks to warning strings): http://lists.open-bio.org/pipermail/biopython-dev/2013-August/010831.html

The atom.get_full_id() does look a bit heavy but it's technically all needed for unambiguous atom identification.

Added a brief unit test to check that writing 1. doesn't throw an error 2. round-trips to `None`.