src: Minor corrections and improvements

Change-Id: If1041d13b7c469e64e3523297438067baf96b1d6
build: Updating waf with the fix to set 644 permission for the installed static libraries

Change-Id: I59568a70f5dad39b92c361acf954d9591d388682
Refs: #1645
utils: Allow resetting command interest validator rules

This feature is necessary for the issue #1584

Change-Id: Ie0a39973b76ded003e4ce88d5a03fa4f73d1468b
interest: Correcting encoding/decoding of Nonce field

Nonce field is now encoded as 4-byte uint8_t value, as defined by
NDN-TLV spec.  In addition to that, setNonce will not reset
wireEncoding, rather than just modify the existing wire encoding, if it
is already exists.

Change-Id: Ibec3737ccfba70fec5c0531487782a46fbc5600a
Refs: #1600
security: Add 'type dir' trust-anchor in ValidatorConfig

Refs: #1483

Change-Id: I4a34947026edc929624b64fe0a996df36d3fb8ed
examples: Do not use /localhost prefix in examples

This change is to avoid a common problem of running examples on separate
machines.  The use of /localhost prefix, due to name-based scoping,
restricts the example programs to run on a single machine.

Change-Id: Id9f753fb7d097411b77b6227c6518679849d4411
build: Disable `unneeded-internal-declaration` warning

Change-Id: If14cd245be6e6e35023f70e6e96b71e3c05b5db6
data: Optimize Data signing

As of this commit, KeyChain::sign pre-allocates EncodingBuffer, requests
unsigned portion of Data using Data::wireEncode(EncodingBuffer, true),
and then appends the resulting signature and prepends Data packet
header.  This way there is no extra memory allocation after Data packet
is signed.

Change-Id: I670e9a2f1d6f5e9b049f41b47f011af384f32c95
data: Implementing Data::getFullName() method to get Data packet name with implicit digest

Note that getFullName() method will throw a Data::Error if Data packet
does not have wire encoding, i.e., it has not been constructed from wire
and is not yet signed.

Change-Id: I7a9b8a6c9e4c6eced9bc907bfc81adb5d4f0e4b3
Refs: #1298
security: Removing unused SecPublicInfoMemory and SecTpmMemory

These two classes were meant for testing purpuses only, are no longer
used anywhere in ndn-cxx, and are not known to be used by any
applications.

Change-Id: I9b6c68bdf23419b7a274f63a64711fa843c2502c
security+tools: Allow user to explicitly specify the cert name prefix before 'KEY' component in ndnsec-certgen

Change-Id: I71e137e89b5ab0cd5db7001b39ff76c22a448bd2
Refs: #1659
tools: ndnsec-cert-revoke command

Change-Id: Id4b43460345015794650f9bc2191869c687a7c46
Refs: #1666
security: Add key type in PublicKey (in order to support multiple signature type)

Change-Id: Ic3cb7276a3bc6d1d1daf066dbe865503fe66c762
Refs: #1648
Refs: #1649
Refs: #1660
security: Add SignatureSha256WithEcdsa

Change-Id: Ib3aa460d409c6d780b722e154ef2a620c510b16b
Refs: #1660
security: rename SignatureSha256 to DigestSha256

Change-Id: Idabb95222d86e2541372593698ed9754156a5df2
security: Include timestamp and nonce in signed interest and provide timestamp checking in ValidatorConf

Change-Id: I0adebd5c06b2d8d35ba13c5c03828b03334b7cec
Refs: #1642
security: Support KeyType in SecPublicInfo

Change-Id: I0c56b849cd9d659a8f6fd0a0225104ea62bbccd6
Refs: #1648