Move outerProduct into RankTwoTensor class, cleanup (#4183)
Do not use calloc/free (#4183)
Add named constructors, mixed product (#4183)