added IDataProvider.hx and made ICollection.hx a random access collection in the process
added getRoot()
fixed EventDispatcher issues, minor cleanup
new DataProviderEvents