Tree List Field Source Query Support

I've updated the field source so that it will replace any query in the datasource property with the path of the first item selected.

I also replaced the FieldSource classes and made a few other arbitrary changes.