Use unique_ptrs where appropriate in all Types.
Have the parse convert pointers to unique pointers.

It might be worth trying to have the parser use unique_ptrs internally, but I'm avoiding that change for now.