Practically a re-write to the VirusMod.
The virusmod was previously rather uncontrollable in how long it'd last, now it can be set to a fixated rate of destruction. The entire way it used to work is changed, it now uses a host block which is a TileEntity, the blocks don't do any logic and the TileEntity is the virus controller. Basically when a block is placed the controller is created and will begin it's logic in spreading this virus, each block is added to a list which is randomly iterated though to continue spreading. Once the virus in general has degraded (or 'ate' enough), it'll begin to fade/cleanup.

The configuration file allows practically full control over how long it lasts, what it cannot delete, and if it degrades based on block hardness.

TODO (for next commit(s)):
Make the host block act like the others instead of persisting. Currently if the host block is removed it'll stop spreading. (Possibly set it to invisible and make sure it cannot be deleted/interacted.)
It currently doesn't save any values related to the host block, so exiting will completely stop the virus from working again.
Ensure nothing being replaced can cause a crash, the code potentially has that possibility as of right now. (Previously had encourters of the virus replacing BlockChest being an issue).
Ensure that upon corruption of block that it'll properly clean itself up.
Remove debugging output (currently lists what is in the block array and how much it can "eat" is left).
Possibly make it iterate faster based on configuration.