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
Whilst REST is one particular concretisation of a dataSource, we should be clear that there are others. For example, we may be writing to cookies, or an indexedDB database, or a git repository etc. There may or may not be particular REST-like HTTP calls involved to back up the implementation of the DataSource.