FLUID-5542: Queued DataSource

Added a Queued DataSource that can combined with different requestQueues to synchronize, throttle, and debounce requests to a DataSource.

http://issues.fluidproject.org/browse/FLUID-5542

This is an extension of the work started in https://github.com/fluid-project/metadata/pull/43
May as well just call this "fluid.dataSource" - since we need some form of grade that allows identification of dataSources in a component tree by type. As it stands "emptyDataSource" doesn't have a use except as a placeholder