WebSearch: richer `/record` and `/search` API docs

* Enriches documentation about `/search` API with new sections
  describing XML API and JSON API, with notes and usage examples.
  (addresses #2303)

* Adds new "Record API" documentation describing `/record/` API, with
  notes and usage examples.

Signed-off-by: Tibor Simko <tibor.simko@cern.ch>
BibCheck: properly reset last_run timestamp

* When using the -a/--all CLI parameter of BibCheck,
  actually performs to reset of the last_run timestamp
  only upon execution of the bibtask and not when it is
  scheduled.

* Improves bibtask verbosity.

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibUpload: earliest_date

* Introduces new earliest_date column to bibrec table, allowing
  independently keeping track of the time when a record is first
  created into the repository, from the bibliographic earleist date
  that could be used to properly sort the record according to its
  corresponding document date.

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
WebSearch: new earliestdate logical field

* Introduces new earliestdate logical field in the search engine
  syntax, corresponding to bibrec.earliest_date.

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibCheck: new earliest_date check

* Exploits the BibCheck infrastructure to populate the earliest date of
  a record based on the actual content of its metadata. In this way
  tools such as BibSort will be able to properly sort records according
  to their real creation.
  (closes #1719) (closes #1604)

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibSort: earliestdate

* Introduces proper sorting by earliest date, exploiting
  new bibcheck plugin introduced in previous commit.
  (pr #2123)

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>