Instruction additions

This branch primarily adds vector stacks (for booleans, integers, floats, and strings). It also adds metadata to every instruction function, which is used to tell which stacks it requires use of.