Declare vector types in vector-types.h and make generateParseTree more general.

Declare vector types in a separate file so that they can be shared
easily between files. I did this because test.c and parser.h both use
the stringVector type now.

Before, generateParseTree had special cases for (identifier ...) and
(number ...) nodes. Now, anything that's not a lisp-like form get's
added to the data vector in the parseTree struct, instead of the
children vector.

So, if you do pt(a (b c)), it will generate a struct parseTree that
looks like:
{name="a", children=[{name="b", children=[], data=["c"]}], data=[]}
(assuming that C could print out structs like that, and that [...]
represents a vector).