Fix orientation for some tetra and pyramid contour cases

This issue is originally reported by Paul Edwards.

Contour triangles for all cell types should be oriented consistently
with respect to cell gradients, but they were not. If we adopt the
convention that the triangle orientation should give normal direction
that is opposite to the gradient direction---in the sense that their
dot product is negative, then all tetra cases and some pyramid cases
are incorrect, as revealed by TestContourCases.py. The test
exhaustively sets binary values to cell vertices, contour the cells,
and check the contour triangle normals against cell gradients.

We want to note here that the consistency check here is reversed from
what was originally used by Paul, who considers dot(normal,
gradient)>0 to be correct. The reason for opting for the reverse is to
minimize the code changes---in particular, to avoid changing the case
table for hexahedron.

The fix is simply to fix the first pairs of vertices in the offending
cases.

This changes also include changing an existing test contourCells.py.
This is because penta and hex prism internally use tetra to produce
contours.

Change-Id: I48ef614e2b243ca36338c32674034400e5024ccd
Handle more exceptional conditions.

Don't accept requests for unique values of components which do not exist.
Do rebuild list of unique values when key has been modified but does not
yet include a list of unique values.

Change-Id: Iee549d68aa442fe63ce6a1f3e5c865bf03ebb345
More realistic bounds on samples required...

... for determining whether an array behaves like a discrete set or not.
We require 32*log2(N) samples instead of just log2(N). This commit
adjusts the test so that it continues to perform random sampling of an
array with the increased minimum number of samples required.

Change-Id: Ia26c3ca0570ac718626c6897cd48bacd4c44bae5
Merge remote-tracking branch 'origin/master' into 13524_fix_slow_arrayinfo

* origin/master:
  Fixed an incorrect ShallowCopy() implementation
  Fixed a warning (variable set but not used)
  Update export headers and CMake files for moves
  Move append filters into vtkFiltersCore
  Fix various warnings
  Specify source files properly.
  ShallowCopy must also (shallow) copy cell and point data
  Fixed hyper tree grid's shallow copy
  Minor style fixups (braces, anonymous namespace)
  Clarified pointers
  Various fixes
  Removed tabs.
  Initialize camera with reasonable parameters
  Improved code readability
  Fixed copy-paster error
  Fix the RasterizePostScript.cmake script.
  Added getters for various data members and a wrapper hint.

Conflicts:
	Common/Core/vtkAbstractArray.cxx

Change-Id: I38e268063b9a33f7c8ff5524bdc5c6f29e1383a4
BUG #11923 fix non power of two framerates

ffmpeg is picky about the bit rate tolerance
At least with ffmpeg 0.6.5, it won't make a codec if brt is < bit rate
(including the default value of 4000000) unless you have a power of
two framerate in some cases for some strange reason.

Setting brt = br appears to be a reliable choice. Perhaps because
this gives ffmpeg free reign to very as much from the target as it wants.

Change-Id: I6100acd21bf979c4d7b7448f4e32b26d2de7cdf7
Merge topic '13524_fix_slow_arrayinfo' into master

e9e04a39 Merge remote-tracking branch 'origin/master' into 13524_fix_slow_arrayinfo
92995913 More realistic bounds on samples required...
5ab37848 Handle more exceptional conditions.
Merge topic '13524_fix_slow_arrayinfo' into pv-master

e9e04a3 Merge remote-tracking branch 'origin/master' into 13524_fix_slow_arrayinfo
9299591 More realistic bounds on samples required...
5bef648 Merge topic 'HyperTreeResettingCrash' into master
567a81a Fixed an incorrect ShallowCopy() implementation
1a6d835 Fixed a warning (variable set but not used)
b25715b Merge topic 'RasterizePostScriptFix' into master
644e4c7 Merge remote-tracking branch 'pvvtk/pv-master' into HEAD
69ec3a2 Merge topic '0013539-GL2PS-text-fixes' into master
00d5d5a Merge remote-tracking branch 'origin/master' into 0013539-GL2PS-text-fixes
630d8b3 Merge topic 'filters-core-moves' into master
6d91033 Merge topic 'silence_sbs_error' into master
6c96c8b Update export headers and CMake files for moves
c94868c Move append filters into vtkFiltersCore
a28e072 Merge topic 'pv_warnings' into master
587be99 Merge topic 'unique-array-values' into master
2ee360e Specify source files properly.
...
Merge remote-tracking branch 'pvvtk/pv-master' into HEAD

* pvvtk/pv-master:

Change-Id: I1a0fbdf8dfb9e98c31e1c575c0e0b29c398c64e8
Merge topic '0011923-fix-ffmpeg-framerate-choice' into master

ecc05794 BUG #11923 fix non power of two framerates
Merge topic 'fix-contour-cases' into master

dc3b2756 Fix orientation for some tetra and pyramid contour cases
Fix contourCells tcl test

This replicates the change for the equivalent python test
contourCells.py in commit dc3b2756f4ba3. Please see that commit for
details.

Change-Id: I2bdbf8dd7d7bf1bbe9fdfd44b9544f59b1a1c83c
Merge topic 'fix-contour-test' into master

2ceea324 Fix contourCells tcl test