build: require gcc >= 5.3, boost >= 1.58, openssl >= 1.0.2

This effectively drops support for all versions of Ubuntu older than 16.04

Change-Id: Ie3ab7df9147e97f6467658a6399a4f9379f089c1
Refs: #4462
diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index 019ed5b..0eaf52a 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -9,7 +9,6 @@
 ndn-cxx uses continuous integration and has been tested on the following
 platforms:
 
--  Ubuntu 14.04 (amd64)
 -  Ubuntu 16.04 (amd64, armhf, i386)
 -  Ubuntu 18.04 (amd64)
 -  OS X 10.11
@@ -30,11 +29,12 @@
 Required:
 ~~~~~~~~~
 
+-  GCC >= 5.3, or clang >= 3.5
 -  ``python2`` >= 2.7, or ``python3`` >= 3.4
 -  ``libsqlite3``
--  OpenSSL >= 1.0.1
+-  OpenSSL >= 1.0.2
 -  ``pkg-config``
--  Boost libraries >= 1.54
+-  Boost libraries >= 1.58
 -  OSX Security framework (on OSX/macOS platform only)
 
 Following are the detailed steps for each platform to install the compiler, all necessary
diff --git a/docs/code-style.rst b/docs/code-style.rst
index 1450598..bf0ffee 100644
--- a/docs/code-style.rst
+++ b/docs/code-style.rst
@@ -1087,6 +1087,6 @@
 
 3.31. The recommended way to throw an exception derived from ``std::exception`` is to use
 the ``BOOST_THROW_EXCEPTION``
-`macro <http://www.boost.org/doc/libs/1_54_0/libs/exception/doc/BOOST_THROW_EXCEPTION.html>`__.
+`macro <https://www.boost.org/doc/libs/1_58_0/libs/exception/doc/BOOST_THROW_EXCEPTION.html>`__.
 Exceptions thrown using this macro will be augmented with additional diagnostic information,
 including file name, line number, and function name from where the exception was thrown.
diff --git a/docs/examples.rst b/docs/examples.rst
index 8689e4f..729a6c5 100644
--- a/docs/examples.rst
+++ b/docs/examples.rst
@@ -52,7 +52,7 @@
 events for execution at specific points of time.
 
 The library internally uses `boost::asio::io_service
-<http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/reference/io_service.html>`_ to
+<https://www.boost.org/doc/libs/1_58_0/doc/html/boost_asio/reference/io_service.html>`_ to
 implement fully asynchronous NDN operations (i.e., sending and receiving Interests and
 Data).  In addition to network-related operations, ``boost::asio::io_service`` can be used
 to execute any arbitrary callback within the processing thread (run either explicitly via
diff --git a/docs/tutorials/utils-ndn-regex.rst b/docs/tutorials/utils-ndn-regex.rst
index 6492a96..af107c0 100644
--- a/docs/tutorials/utils-ndn-regex.rst
+++ b/docs/tutorials/utils-ndn-regex.rst
@@ -6,7 +6,7 @@
 
 A name component matcher, enclosed in ``<`` and ``>``, specifies the pattern of a name component. The
 component pattern is expressed with the `Perl Regular Expression Syntax
-<http://www.boost.org/doc/libs/1_55_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html>`__.
+<https://www.boost.org/doc/libs/1_58_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html>`__.
 For example, ``<ab*c>`` matches the 1st, 3rd, and 4th components of ``/ac/dc/abc/abbc``, but does
 not match the 2nd component. A special case is that ``<>`` denotes a wildcard matcher that can match
 **ANY** name component.