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 
Wouldn't ``graphNode.PushSymbolAsDependent(symboNode)`` be more succinct? :-)