Ensure vectors don't overflow in function proptest
Ensure vectors don't overflow in function proptest

The static analysis tool MIRAI (https://github.com/facebookexperimental/MIRAI) was run over the VM source code. One of MIRAI's functions is to check for potential violations of preconditions on standard library functions.

In this case, the `function_signatures`, `locals_signatures`, and `function_handles` vector sizes were found to not bounded so a `push` could fail with a panic if there were too many elements in the vector. We bound the vector sizes by adding preconditions to functions that add to each of these vectors.

libra/libra,libra/libra,aptos-labs/aptos-core,aptos-labs/aptos-core,libra/libra,aptos-labs/aptos-core,aptos-labs/aptos-core,aptos-labs/aptos-core,aptos-labs/aptos-core,aptos-labs/aptos-core,libra/libra,libra/libra