BVAnalyzer for unordered structures taking into account arbitrary order of the composition of a site

 Modified BVAnalyzer for unordered structures in order to take into account possible errors due to the arbitrary ordering of the composition of a given site.

The route finally taken was to add a method to Composition (not change Composition) that returns an ordered list of tuples (element/species, occupation). The elements on the site are ordered in increasing Z and then for same Z, in increasing fractional occupation.
Added the add_oxidation_states_by_site_fraction in Structure

Also added the possibility to exclude a given specie to be used in the BVAnalyzer (for example, if we do not want O- at all)