Pipelining

Ik heb een versie van pipelining geimplementeerd (zie https://github.com/NLeSC/xtas/issues/9). Ik ga er nu vanuit dat de 'pipeline' en de resulterende header hetzelfde zijn, dwz de pipeline geef je op met een lijst van dicts met in elke dict de taskname en eventueel arguments. Hij checkt dan of de pipeline al deels of geheel in de cache zit, en maakt een chain vanaf het punt dat het al in de cache staat (of uiteraard vanaf 'doc' of returnt meteen als de hele pipeline al gecached is). Er is optie op na elke stap of alleen aan het eind op te slaan.

Beperkingen:
- cache houdt nu geen rekening met eventuele parameters, zoals pos_tag model
- hij gaat er nu vanuit dat de xtas_results in 1x kunnen worden opgehaald, dus dat geeft extra dependency op hoe we met de backend om willen gaan

Ik beschouw de code nu nog redelijk als een prototype, maar ik ga nu (nou ja, morgen :-)) aan de slag om de corenlp + bronanalyse aan de praat te krijgen in de nieuwe structuur, dat geeft ook direct meer test voor de pipelining code. 

(de pull request bevat nu alle veranderingen, ook die van de eerdere pull request, maar ik ga er vanuit dat die commits er vanzelf uit gaan als ze worden geaccepteerd. Ik heb nog niet veel ervaring met fork/pull, dus zeg het me ook vooral als ik iets anders moet doen)