Refactoring use of embedded Python in ParaView.

ParaView relied on using Py_NewInterpreter() for creating separate pyhton
interpreters in the application. Py_NewInterpreter() causes issues with Python
threading (esp. GIL related things). As a result we decided to refactor Python
embedding in ParaView/VTK (VTK too since the introduction on Matplotlib).

The new design uses a global Python interpreter (used by all filters including
Matplotlib rendering code) with the ability to create interactive interpreter
(for the PythonShell).

On disconnect, we only discard the interactive interpreter, thus the global
Python interpreter remains active. We will cleanup servermanager and simply
Python Modules in subsequent commits to work correctly with long live Python
interpreters.

Change-Id: I705b024542e2598ca55d62d32de7e7d704f48e79
Cleaning up ActiveSession logic.

Cleaning up ActiveSession logic in vtkSMProxyManager. The way it was implemented
resulted in us missing session change signals on occassion. That was resulting
in hacks that were spread throughout the code. Cleaned that up.

Also added a new vtkSMSession::Disconnect() method that UI and Python can use to
disconnect from a session gracefully. I'd like to move towards making
pqServer::removeServer() pretty much obsolete and simply use
vtkSMSession::Disconnect(). It almost does that now, except there are a few
signals it fires that need to be tracked down.

These changes make it possible for the Python modules (servermanager and simple)
to live on in a Python interpreter even after disconnects. This is required
since after commit cd547dbd107629acb64dbf8ae9285c6e103fd10d, we no longer
destroy the Python (sub) interpreter on disconnect.

Change-Id: I9a2b25177cb14c09a1d75105757c69de99ce6f72
Overcome issues with trace.

When saving Python state, as we iterated over existing  proxies, ProxyProperty
(in servermanager.py) would register the proxies in this domain (since the GUI
didn't) and would cause the state to fail. Since this domain is not used by
ParaView, I am removing it for now. We need to cleanup how ProxyListDomains are
dealt with in ParaView in general.

Change-Id: I83cf213fac36f25b1ce01911c23b8d3c48e1e269
Cleanup text displays from Python.

Unless the Python shell is executing code, all Python outputs are now simply
shown in the OutputWindow (and terminal). Since Python adds "\n" appropriately
to the messages, extended pqOutputWindowAdapter/pqOutputWindow to add API to not
add extra "\n" as well as skip the echo to terminal (since vtkPythonInterpreter
does that already).

Change-Id: I869c025532faab4dfd5bf1011269ef1ea547cdea
Update VTK to bring in vtkPythonInterpreter changes.

Change-Id: I6b8947cd367746a8490222c3772e7e7f759a119b
Merge remote-tracking branch 'stage/14027_crinkle_clip_bug' into refactor_python_interpretor

* stage/14027_crinkle_clip_bug:
  Fixed some logic errors in vtkPVEnightMasterServerReader2
  Fixed UI issues with crinkle-clip with scalars for bug 14027.
  Fixing Crinkle-clip bug (14027) while clipping by scalars.

Conflicts:
	Qt/ApplicationComponents/CMakeLists.txt

Change-Id: If702c04c5bbf493644119c229e3b1da3e7920499
Merge topic 'refactor_python_interpretor' into next

d7f6aac Merge remote-tracking branch 'stage/14027_crinkle_clip_bug' into refactor_python_interpretor
4b222f9 Update VTK to bring in vtkPythonInterpreter changes.
9ed23c1 Cleanup text displays from Python.
d2f6357 Overcome issues with trace.
10e6f51 Cleaning up ActiveSession logic.
cd547db Refactoring use of embedded Python in ParaView.