Create an example resource for the variables table.

Based on the work on #188, create a resource that can:

  - [x] Get a list of all the variables in the site.
  - [x] Get the content of a variable (or set of them) by providing the variable name(s).
  - [x] Create a new variable.
  - [x] Update an existing variable.
  - [x] Delete a variable.
  - [x] Explore the enpoints using the `OPTIONS` method.
  - [x] Test the endpoints using the `HEAD` method.
 
All the other features (caching, rate limits, authentication, formatting, …) should be granted automatically without any additional work.

@amitaibu does this sound as a good proof of concept for #188?
almost all this method and ``queryForListSort `` exists in ``RestfulDataProviderDbQuery`` - maybe we can avoid the duplication by moving this up?