Improved the way node classes hide their preview icons

Background
-----
This pull request improves the way derive node classes (of ```NodeModel``` class) choose to hide their preview bubble. The old way of doing that was through ```NodeModel.Name``` string, which was obviously the incorrect way. The new protected ```NodeModel.ShouldDisplayPreviewCore``` virtual method is the centralized way for derived node classes to show/hide their preview icons.

The following classes (and therefore, their derived classes) have their preview icon suppressed, while all other node classes (e.g. ```DSFunction```) continue to show the preview icons:

```
* DoubleInput
* BoolSelector
* Filename
* DoubleSlider
* IntegerSlider
* Watch
* WatchImageCore
* Watch3D
* ColorRange
* SunPathDirection
* DummyNode
* BasicInteractive (and all derived primitive classes)
* DSDropDownBase (and all derived Revit node classes)
* ElementsQueryBase (and all derived Revit node classes)
* DSSelectionBase (and all derived Revit node classes)
```

Latest Visuals
-----
Note that many of the following nodes do not have a preview icon:
![preview-control-fixes](https://cloud.githubusercontent.com/assets/5086849/2924156/5c23c2d6-d72a-11e3-8e80-d8db3797066e.png)