Global decay off

This implements an optional flag that allows the user to disable the material class' Decay function. This is intended to fix issue #984 which complains of an inability to globally turn off decay (at the very least)

As we discussed before on a development call, this feature simply adds the option to allow or specifically not allow the use of the Decay function in the material class.

Further granularity of options or implementation of global decay was not supposed to be part of this quick fix. In the future, this work can be extended to re-implement the feature in which decay occurs whenever a material composition is queried. However, that implementation of global decay was supposed be left up to further discussion on what folks decide was the best course of action.

This PR focuses on adding the decay flag to the SimInfo object and using that flag in the material class' decay function. 

That's all fine, but I can't append a new parameter at the end of the function signature if the handle argument maintains its default value. 

Because all arguments with default values must be at the end of the function signature, a new function signature that looks like the following will not build, but I believe it is what you are saying I must add:

```
  SimInfo(int dur, boost::uuids::uuid parent_sim,
          int branch_time, std::string parent_type,
          std::string handle = "", bool d);
```

I propose this instead : 
```
  SimInfo(int dur, boost::uuids::uuid parent_sim,
          int branch_time, std::string parent_type,
          bool d, std::string handle = "");
```
Any complaints?