Remove wildcard matching of Typing_defs.ty

Summary: Using a wildcard (_) in pattern matches makes it difficult to add new
types because you aren't sure of all the places where you need to
update. So I went through the typing folder and fixed all the relevant
cases I ran into.

Reviewed By: @int3, @elgenie

Differential Revision: D1671948

Signature: t1:1671948:1415695678:9a2996e8110c22611fe2e98c7134946f928d24cf
Prevent m_nextKI from going negative in MixedArray

Summary: The "next free element" in mixed arrays should never be negative.
Add a check for the array_pop() case (test 001), and for the promotion
from empty array case (test 002).

Closes #3588

Reviewed By: @JoelMarcey

Differential Revision: D1671899

Signature: t1:1671899:1415684115:8dec1102aed9dffc975ea1c40d4b1258de4bf758