Updated DataLine and DataNode interfaces

For "DataNode-system-overhaul" branch.
More updates to DataLine/DataNode interfaces
Updated Add, Remap, RotateAroundAxis, and Subtract nodes
More interface changes to DataNode and ShaderGenerator stuff
Updated TextureSample and shader input nodes
Updated built-in uniform nodes

TimeNode, CameraDataNode, ProjectionDataNode.
Updated various nodes

Updated TextureSample nodes and fixed ParamNode, ShaderComputationNodes,
and WhiteNoiseNode
Finally added default argument of 0 for DataLine output index
Updated lots more nodes

Removed DataNodeGenerators.h/.cpp and commented out SubroutineNode
class.
Updated "VertexAttributes" name change through rest of project
Finished updating DataNodes (except specials like water)
Updated Material class for DataNode system overhaul
Fixed small issue in Vertices.h

Didn't convert an int to an unsigned int when I should have.
Removed useless RenderPasses enum

Has different values like BaseComponents, CombineComponents,
ApplyOcclusion. Never actually used, and they dont' fit for this
lower-level view of a material.
Did much of the work for ShaderGenerator/material serialization

Need to finish final outer serialization as well as
ShaderGenerator::GenerateVertFragShaders
Made small changes to DataNode interface

Modified the DataNodeFactory signature to not take any inputs
Finished first draft of new serialization/shadergenerator
Added extra constructor to MultiplyNode

Three arguments
Overhauled rest of engine for new DataNode overhaul (WIP)

* Moved LinearizeDepthSampleNode to the collection of basic DataNodes

* Commented-out WaterSurfaceDistortionNode until further notice.

* Temporary solution to populating the collection of node factories by
initializing the factories in SFMLOpenGLWorld::InitializeStaticSystems.
Added a PRIORITY describing a better way to do this.
Fixing compile errors/bugs/warnings related to overhaul

(not touching actual world code yet)