Feature extraction, feature binarization and image retrieval examples

This pull request serves for two purposes.

First, CAFFE represents [Convolution Architecture For Feature Extraction](https://docs.google.com/presentation/d/1lzyXMRQFlOYE2Jy0lCNaqltpcCIKuRzKJxQ7vCuPRc8/edit?pli=1#slide=id.g176186a76_028). So let's have a feature extraction example. To this end, Has/Get Blob/Layer methods are added to simplify feature extraction.

Second,  the very natural next step is to apply the extracted features in practical applications, e.g. image retrieval. The image retrieval demo can also be deemed as a baseline method. Image retrieval is fastest when using binary features. But putting all the steps of a complete pipeline in an example is too complex. Thus a feature separate feature binarization example is split out.

Related issues:
#20: Extract the middle features
#112: pythonic export of features and params for wrapper
#139: About dump_network.cpp