fixed minor issues with g++ and/or clang
added a function to save node tree directly to a file
added interface to set property values based on their name
fixed opencl upload/download nodes

There was a mismatch between host size_t type and kernel int argument
added enum to string operators for some enum types
added basic function traits types
added NodeResolver type for node/socket/property name to ID lookup
removed old code
remade api's example to use NodeResolver and create node tree from scratch
check if input node name contains invalid character - '/'
fixed warnings of unused variables and missing initializers
fixed build on g++ and clang

msvc is so liberal if it comes to templates