Avoid null reference when processing element lookup.
Avoid another null reference.
Build null nodes if selections are empty.

Otherwise, this will propagate an exception.
Merge remote-tracking branch 'origin/Revit2015' into SelectionNodeHardening
Use function to build AST node.
Use AddRange instead of ForEach.
Merge pull request #2261 from DynamoDS/SelectionNodeHardening

Selection node hardening