Add some warnings when abtract classes are returned

Added an error message when NULL is returned by the New() method, making
it easier to debug problems with missing overrides. Also added a warning
when vtkInteractorStyleSwitchBase is returned as this can be difficult
to track down when porting old code.

Change-Id: I0ac5ad848a8e30d004640867cee2a40d0209eac4
Moved the vtk*NewMacros to vtkObjectFactory.h

This ensures that vtkObjectFactory.h is included in the relevant
implementations (to support building all vtkObject derived classes with
the object factory mechanism), and moves these macros to a more
appropriate location.

Change-Id: I412379a29a9d55d8c12378fe0c28d2da09d154c4
Merge topic 'better-warning-abstract' into master

b4d6e076 Moved the vtk*NewMacros to vtkObjectFactory.h
41f0bd00 Add some warnings when abtract classes are returned