YAML: added a few random elements to YAML map "ions"

Unused right now.
Ion::read_atomic_data(): fixed line counter when reading model atom data

There are certain weird lines in the Kurucz line lists that I skip,
e.g., ones with negative energies or ones with energies higher than the
continuum. However I forgot to make the line counter ("num_lines") skip
incrementing when encountering those lines. This caused the AtomicLine
vector to be allocated with too many elements, and the ones which would
have contained those weird lines were all set to zero, which caused
segfaults.
Added routine insert_ions() to add only ions we want.

The routine also allows one to use fewer than the maximum number of
available ions for a given atom. This is nice because detailed model
atoms usually exist only for the lowest several ions of an atom.
Merge branch 'develop' into put_ions_in_yaml_file
Merge branch 'put_ions_in_yaml_file' into develop
Removed some debugging print statements.
YAML: added more atoms to the sample YAML file
EOS: split up functions which calculate what Mihalas calls P_jk and S_k

The (analytic) derivative of the non-linear function for n_e will make
separate calls to these so it's more convenient split them into separate
functions.
EOS: removed Ion argument from S_k(), as it iterates over all ions
read_mesa_model(): dumped He3 into He4 mass fraction
read_mesa_model(): can now read models with nuclear network "approx21"
YAML: added options to read MESA models with different nuclear networks