Fix incorrect definition of valence charge and incorrect parsing in XML based pseudopotential files
The valence charge of a pseudopotential is allowed to be fractionary. Therefore it must be a real number, not an interger. Furthermore, defining the valence charge as an integer was also making the code parse incorrectly integer charges when exponential notation was used in some xml files.
Fixed incorrect parsing of valence charge in some XML based pseudopotential files.
- I have checked that my code follows the Octopus coding standards
-  I have added tests for all the new features added in this request.