Certificate revocation

Adds the handling of certificate revocation according to ndncert protocol v0.2.
Includes handing on CA module, client module as well as the test cases for these funcationalities.

Currently no internal database are being updated from the revocation.
This actual update and propagation of revocation information needs to relies on a certificate log, which can be attached to the CA module using status update callback.

Change-Id: I21f912285161ce781e17d222e640c8f0c57b50f7
diff --git a/src/ndncert-common.hpp b/src/ndncert-common.hpp
index a6a7a04..7b3000f 100644
--- a/src/ndncert-common.hpp
+++ b/src/ndncert-common.hpp
@@ -98,7 +98,8 @@
   tlv_issued_cert_name = 169,
   tlv_error_code = 171,
   tlv_error_info = 173,
-  tlv_authentication_tag = 175
+  tlv_authentication_tag = 175,
+  tlv_cert_to_revoke = 177
 };
 
 // Parse CA Configuration file
@@ -132,6 +133,7 @@
 const std::string JSON_CLIENT_ECDH = "ecdh-pub";
 const std::string JSON_CLIENT_CERT_REQ = "cert-request";
 const std::string JSON_CLIENT_SELECTED_CHALLENGE = "selected-challenge";
+const std::string JSON_CLIENT_CERT_REVOKE = "cert-revoke";
 
 // NDNCERT Status Enum
 enum {