Various Cocoa improvements and fixes

Changed behaviour of vtkCocoaRenderWindowInteractor::TerminateApp().
It used to do one of two things: 1) terminate the application completely,
or 2) close the NSWindow and stop the event loop.  Now it never closes
the NSWindow, never terminates the application, and always stops the
event loop.  Start() and TerminateApp() are now pairs, which is how other
platforms already behave.  Also refactored NSApplication runloop
starting/stopping code into static functions that do only that.  Makes
more sense since there is only one event loop, there doesn't need to be
an association with any class or instance.  Thanks to Pat Marion for
reporting this problem and creating a patch.

Changed of behaviour observing for NSWindow closing.  First, moved the
private vtkCocoaServer class from vtkCocoaRenderWindowInteractor to
vtkCocoaRenderWindow.  Its job is to observe window closing.  Since
vtkCocoaRenderWindow creates the NSWindow, it make more sense there.
We were previously careful to only observe NSWindows created by VTK,
but are now also careful to *stop* observing only those same windows,
whereas previously there was an outside chance of stopping observation
of all window closes, which is something a library should not do
(who knows what else the application is doing).  Now when an observed
NSWindow closes, we no longer stop the event loop, but merely remove
our reference to it.

Changed vtkCocoaRenderWindow::SetWindowName() to interpret its char*
string parameter as UTF8 instead of ASCII.

Fixed possible memory leaks in ~vtkCocoaRenderWindow.

Replaced most invocations of 'autorelease' in favour of 'release'.
The motivation being that VTK, as a library, might sometimes be called
before an autorelease pool is even setup, so better to avoid autoreleased
objects as much as possible.

Fixed some whitespace and coding conventions
(asterisk positioning, constness, etc.)

Change-Id: I5a5d410012980ee9f6c637c340e98e3daa5aee74
Exodus: Always attach the title to the output fields

The title is a statically-sized array, not a raw pointer, so it is
always non-NULL. Always attach the title since we don't need to worry
about NULL-dereferences.

Change-Id: I6c855cf4d8a04dd206dcb983555a2bcb01a4179a
Revert "vtkOStreamWrapper: Support std::string"

This reverts commit 7feab87c4aada7cd286af1cb02462b5d83847276.
The std::basic_string<> forward declaration is not portable
because some C++ standard libraries put basic_string<> in a
sub-namespace inside std and bring it out with "using".
We will need another approach.

Change-Id: I1ac3152fba8a3b1ea7973a2820e7da7f92b43cb9
Merge topic 'core-string' into master

ec258e29 Revert "vtkOStreamWrapper: Support std::string"
Merge topic 'cocoa-review' into master

a3e9fc90 Various Cocoa improvements and fixes
vtkOStreamWrapper: Support std::string

This will allow std::string to be used with vtkSet/Get macros.

See discussion thread

 VTK coding conventions clarification
 http://www.vtk.org/pipermail/vtk-developers/2014-March/014867.html

It is not possible to portably forward-declare std::string or the
std::basic_string<> template, but we do not want to include <string>.
Instead, use a template that happens to match std::basic_string<>.

Add a new "TestOStreamWrapper" test case to cover use of the
vtkOStreamWrapper with std::string in a translation unit that acts
like wrapper-generated sources (define VTK_STREAMS_FWD_ONLY) where
no <iostream> is included.

Suggested-by: David C. Lonie <david.lonie@kitware.com>
Change-Id: I56b184ea8f6c5341fd44b2de1a2adc59b1b32e5e
Merge topic 'vtkOStreamWrapper-std-string' into master

54003c65 vtkOStreamWrapper: Support std::string
Merge topic 'always-attach-exodus-title' into master

e073d6de Exodus: Always attach the title to the output fields