constant/Atom.pm still had a hard-coded $VERSION
Tidy-up refactoring
Added tests for some failure cases

Done after looking at the results from Devel::Cover