Allows Material::extract to optionally occur in grams

This fixes a core flexibility issue in which the extraction of materials from each other was previously always done in kg. It can now be done in grams as well, or any other unit described and handled sufficiently as a MassUnit in Cyclus. There is a test added that checks this functionality. 

Notably, by using a default parameter defining the MassUnit as kg if none is given, this change is backwards compatible with previous uses that may rely on the extraction process to happen in kg.