Replace tablelist with data source processor

This PR removes tablelist and adds DataSourceAttribute.  DataSourceAttribute provides the ability to create a datasource from an array of inputs for a processor graph.  

TableList is a good example for understanding this.  Previously there was a TableListAttribute and TableListProcessor.  The TableListAttribute was essentially an array of Table Attribute data.  

Now DataSourceAttribute can be an array of Table Attribute data and DataSourceProcessor's processors property can be a TableProcessor and we have the same behaviour as we has using the TableListProcessor and TableListAttribute except that it is not limited to Table data.  It could be an array of Legend Attribute data and the DataSourceProcessor's processor could be a LegendProcessor.