multiple edits to: active learning, search, python interface, and new feature -- dictionaries

sorry for the bulk pull request... i should have done these separately but was without internet for a while and different tasks all happened at once. anyway, here are the edits:

1) two additions to active learning. the first is that instead of having to press "y<enter>" you can just hit the "y" key now (with cmd line argument --keypress, and assuming your OS supports it). the second is that you can additionally provide a "human readable" input file. this is read line-by-line and the human readable inputs are shown to the labeler to label, rather than the tags or feature vectors. i found this necessary to use active learning at all :).

2) features can now come from dictionaries. if you specify "--dictionary w:FILE" then it will read FILE for a mapping from single-features to list-of-features. every time it encounters a single-feature in the 'w' namespace, it will add list-of-features automatically. useful for word embeddings, clusterings or gazeteers. added at test case in RunTests for this.

3) a few minor bug fixes in search.cc and extended the python search interface to handle the added features.