Add further identification methods ++

* Added API version. The server can now be queried for this, plus what sensors and actuators are available.
* Some refactoring - FCGI_RejectJSON now requires a description to be provided. 
* The dump function now forces a download via the content-disposition header. 
* The sensor ids were out of order with respect to their names (+ one name was missing - the segfault)

Potential refactor todo: Calls to  FCGI_RejectJSON/FCGI_RejectJSONEx are automatically logged along with the description (reason) - remove redundant logging in handler functions.