Major and discombobulated commit:
  - bug fix in __contains__ method of BaroniComposer + tests + comments
  - bug fix in formating of output paths of reduce_dimensionality.do_svd and build_phrasal_thesauri_offline
  - modified build_phrasal_thesauri_offline so that the bits that do heavy work can be commented out if the output file that they produce is there
  - added partial support for NN features, but a Baroni-style composer can't be trained yet
Added composers that return the vector for the first/last word in a phrase and the associated tests
Converted the entry_index field of UnigramVectorSource so that it stores DocumentFeature-s instead of Token-s. This makes if possible to fix a bug where available_pos of the same class was completely wrong when ngram entries are read in. Whether the UNIGRAM vector source class should be used to hold ngrams is a different matter (it corresponds to a core space in dissect, so that answer is yes)
Added test for CompositeVectorSource's entry_index, which I suspected may have been in the wrong order that does not correspond to the contents of feature_matrix