Finished the server-side searching for catalgoueTree

1. the query is done on server-side
2. Not all variables exist in the tree due to using lazy-loading strategy. If the searched variables (observableFeatures found on server-side) do not exist in the tree, those variables and their parent protocols would be appended to the tree.