Cache target table template tuple and its schema in insert executor, to ...

...avoid serializing default values on every insert.
It's because m_templateTuple is not actually a TableTuple, it's an instance of StandAloneTupleStorage, which has an overloaded operator (TableTuple).  I was following the example in NestLoopExecutor.

StandAloneTupleStorage is nice because it manages the memory for the tuple, but it's overloaded operators are confusing---should I get rid of them?  Currently this class is only used in three places.