Enhance chemical explosion system.

I re-write the chemical explosion system. Now, you can specify which two chemicals will explode when they meet.

e.g. I want chemicalA and chemicalB explode when they meet.(chemicalA and chemicalB are MoleculeEnum or ElementEnum)
Use code ChemicalExplosionHandler.explosionReactionRules.add(new ChemicalExplosionReactionRule(chemicalA,chemicalB));
Then if chemicalA(EntityItem) is in chemicalB(IFluidBlock) or chemicalB(EntityItem) is in chemicalA(IFluidBlock), they will explode.

But I have no time to add some many explosion rules, so it is just a framework. Add more rules into ChemicalExplosionHandler.initExplodableChemical() thanks