Finished the algorithm for fast search in protocolViewer (using elasticSearch)

1. Index the catalogue data (meta-data) so that the hits (nodes) and their parents/ancestors can be accessed through index. 
2. A new algorithm was developed in protocolViewer working with the elasticSearch so that search can be done very fast
3. Extended RestAPI so that we can ask for complex queries. 
4. Cleaned up the code