Search refactor predecessors 2: Added ISource, ICustomNodeSource

@ikeough @lukechurch As discussed in https://github.com/DynamoDS/Dynamo/pull/3463