Properly initialise cached variables for Deuteron
Fixes a few bugs where deuteron was not being properly considered.
The only significant one is in RichSellmeirFunc as this is the only one actively used in production.
There are also a few minor performance tweaks as well.