CLN: remove need for *VectorData c-structures in hashtable.pyx
post #14859 

See what I did for StringHashTable [here](https://github.com/pandas-dev/pandas/pull/14859/files#diff-086515be6caf140878bb9189b088525aR547)

I think we should just remove entirely the *VectorData structures and simply create them in a single pass at the end.

I don't think this will actually have a perf penalty, but should see if anything changes.

This will make the code easier to understand and still provide all of the GIL release benefits (because we actually need to hold the GIL to resize), if we use the method above, then can simply allocate the unique array all at once, then fill it with a single expression that doesn't require resizing, because we know the nuniques at this point.
