Short circuit reinit

closes #4312
Just catch the return type of `insert` instead of calling `find` followed by `insert`... it returns false if the item is already there.
```
pair<iterator,bool> result = seen_it.insert (elem->type());
if (result.second)
  assembly.reinit(elem);
```