Fix inconsistencies in cell orientation (stored in Mesh).

Fixes Issue #404.
Remove unnecessary clear() calls in mesh assignment functions.

Fixes self-assignment bug without ugly explicit self-assignment check. Fixes Issuse #341
Python/SWIG layer fixes for cell orientation.

Improve a bunch of std::vector<T>::data() calls.
Merge branch 'garth/fix-issue-341-mesh-self-assignment'