Fix graphnode dependencies

1. Implement a function that pushes symbols as graphnode dependents.
2. This function will check if symbols are valid dependents given certain conditions
3. Add new and update existing testcase

The existing bug: 
http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-4011 

was encountered when implementing: 
http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-4945

@ke-yu @lukechurch 
The full name space duplicated twice...Can we add ``using ProtoCore.Utils`` so that the whole line is visible in my browser? :-)