catalog: support autocompletion query

* use seaprate functions to for autocompletion query and component-based query
* add json-paramters as a name component in the query-results content
* set freshness for ACK data
* fix bug that catalog throws run-time error when malformed Json::value is used
* query-results data conforms the schema

Change-Id: I942c26888fa79c206f2fa27f6f0a92fc4a8bef79
refs: #3024, #2797, #3035, #3047
diff --git a/catalog.conf.sample.in b/catalog.conf.sample.in
index 11b11d0..72b4153 100644
--- a/catalog.conf.sample.in
+++ b/catalog.conf.sample.in
@@ -1,5 +1,5 @@
 ; The catalog section contains settings of catalog
-general
+general:
 {
   ; Set the catalog prefix, so that adapters can extend it as their own prefix
   ; e.g., suppose that the catalog has the prefix "ndn:/cmip5", so QueryAdapter has the prefix
@@ -7,6 +7,10 @@
   ; PublishAdapter has the prefix "ndn:/cmip5/catalog/publish"
 
   prefix /catalog/myUniqueName
+
+  ; name fileds conatin name components for the scientifi data, for example, the climate data
+  ; contains name fileds like activity, ..., time
+  nameFields activity,product,organization,model,experiment,frequency,modeling_realm,variable_name,ensemble,time
 }
 
 ; The queryAdapter section contains settings of queryAdapter