face+security: Introduce environment variables to set/override transport, pib, and tpm configurations.

- NDN_CLIENT_TRANSPORT: equivalent of transport in client.conf
- NDN_CLIENT_PIB: equivalent of pib in client.conf
- NDN_CLIENT_TPM: equivalent of tpm in client.conf

Whenever an environment variable is set, it takes precedence over any
values specified in the configuration file.

Change-Id: I44c2347168616387a0489b6bf5c2c3a12db29863
Refs: #2925, #2514
diff --git a/src/util/config-file.hpp b/src/util/config-file.hpp
index 5c71dde..2bb6c2d 100644
--- a/src/util/config-file.hpp
+++ b/src/util/config-file.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2013-2014 Regents of the University of California.
+ * Copyright (c) 2013-2016 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -31,6 +31,20 @@
 
 namespace ndn {
 
+/**
+ * @brief System configuration file for NDN platform
+ *
+ * The config file controls the default transport to connect to NDN forwarder, type and
+ * location of PIB and TPM.
+ *
+ * Looking for the configuration file in these well-known locations (in order):
+ *
+ * - `$HOME/.ndn/client.conf`
+ * - `@SYSCONFDIR@/ndn/client.conf`
+ * - `/etc/ndn/client.conf`
+ *
+ * @sa Manpage of ndn-client.conf
+ */
 class ConfigFile : noncopyable
 {
 public:
@@ -48,7 +62,7 @@
   typedef boost::property_tree::ptree Parsed;
 
   /**
-   * Locate, open, and parse a library configuration file.
+   * @brief Locate, open, and parse a library configuration file.
    *
    * @throws ConfigFile::Error on parse error
    */
@@ -71,7 +85,8 @@
   close();
 
   /**
-   * Parse a previously discovered and opened configuration file.
+   * @brief Parse a previously discovered and opened configuration file.
+   *
    * For convenience this method will attempt to open the file
    * if it has previously been located, but open() has not been called.
    *
@@ -83,11 +98,13 @@
   parse();
 
   /**
-   * Looking for the configuration file in these well-known locations:
+   * @brief Find the configuration file in well-known locations
    *
-   * 1. $HOME/.ndn/client.conf
-   * 2. @SYSCONFDIR@/ndn/client.conf
-   * 3. /etc/ndn/client.conf
+   * The well-known locations include (in order):
+   *
+   * - `$HOME/.ndn/client.conf`
+   * - `@SYSCONFDIR@/ndn/client.conf`
+   * - `/etc/ndn/client.conf`
    *
    * @return path to preferred configuration (according to above order) or empty path on failure
    */