Documented Ingot Module.

Do we want to publicize that any type can be stored in `Alloy`, or do we want to mislead consumers to only storing an instance of their own `Ingot`?

This could muss up the `Alloy` and cause collisions (edge case), but it could also provide extensibility for `Ingot` storage. Either way is fine with me.