Add HttpRequest / CurlRequest / HttpResponseFilter

- Move SparqlDatabaseException into its own file
- Start to use HttpRequest / CurlRequest instead of relying on curl_* calls
- Move Error handling to HttpResponseFilter
- Some tidy