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
This isn't clear or correct - directModel holds "coordinate" information, describing where the data which is being addressed is to be read or written from. It doesn't include the payload to the request, this appears in "model"