Merge pull request #472 from katyhuff/eps

utilizes cyclus::eps_rsrc() to fix extraction of one comp from its duplicate.
adds a test I was curious about.
adds another expect_float_equal to the zeromat extraction test.
Merge pull request #474 from katyhuff/zeromat

adds extra material tests that deal with near-zero quantity issues
allows extraction in grams and adds a test accordingly.
edits the extract_in_grams test for readability
edits the extract_in_grams test for readability
adds isovector comparison tests, these fail as @gidden predicted, explaining a lot of drama I was seeing in actual simulations.
this fixes all compiler-related errors for me, iso vectors still don't equate to equal
added an isovector test to confirm the == operator works as intended
added simple test to diagnose the problem
changed from testing equality of pointers to equality of underlying compositions
added isotopic checks to other absorb tests just in case
Merge pull request #476 from katyhuff/extract_eps

Allows Material::extract to optionally occur in grams, fixes compiler related issues with the material class, and updates the equality for isovectors. Previously, isovectors compared equality based on pointers, now they compare based on equality of their compositions. It is not clear to me how this will affect performance; however, I believe this is the correct behavior for the == operator. If we really need to check comp map pointer equality, we can add a different method to do that.
While utilizing different units has helped, using a relative epsilon has proven vastly superior to using an absolute epsilon. With the two combined, almost no errors are thrown when very similar materials are extracted from one another. This is related to @gonuke's suggestion the last time we talked about this issue in Madison. Thanks @gonuke :) .
updated the extract function to compare relative amounts for the final isotopic amount as it does for the removal amount. I also updated the language of the variables to clarify what's going on. the previous implementation had both removal and remainder variables using rem_. It got really confusing...
adds test that fails for inexact extraction, even within cyclus::eps_rsrc()
added two more tests for inexact sizes and compositions combined
these tests are more informative with a composition that has more than one entry.
clarifying comments