Simplifying generic endpoint

The generic endpoint is now a class on its own. It holds the dataset
and some options. It does content negotiation itself. This should
reduce the count of (weird) arguments on the function graph_store.
Adapting flask integration to new generic endpoint
Renaming testcase

It will be used not only for the graphstore protocol.
Test class now runs all tests from test/endpoint_protocol/

The unittest class is decorated with a function that scans the
directory for all .html files and creates corresponding test_*
attributes for the class.

This allows us to add further tests later on. Note that tests in the
same HTML file depend on each other. Between running the tests from
different files, the endpoint's dataset is cleared.