encoding: Extended version of EncodingBuffer (allow buffer length estimation)

Change-Id: I85bd9f1605340e78035971752f67be22e97ac1d5
encoding: Allow creation of a Block from EncodingBuffer

Change-Id: Ifed719e30b9bc04c2e056ac07d6bcf713e8a2bf0
encoding: Fixes in Block: using std::vector for subblocks and allowing block with empty value

Block will not throw exception and will encode an empty value wire if
underlying buffer has not been previously set.

Change-Id: Iabb545ac6383e5a35880fb446a8c9ba9409e5afd
name: Optimization of Name implementation

Now, Name directly uses Block as underlying storage for name components
and name::Components (aka Name::Components) class is a helper wrapped on
top of Block class.

Change-Id: I15ca58cc6dba76dd02e973709b7b153c2613de51
refs: #1171
exclude: Fixes of Exclude and adding unit tests for the exclude filter

Change-Id: I2392d98abc1dd46fee53f2bb9206141a01aa37c3
fixes: #1158
name: Fixes and improvements in Name and name::Component classes

Change-Id: I4695ea252d7cd2de7d68991f5c029bd3f1b39828
tests: Adding additional no-throw check in sec-public-info-sqlite3 test

Change-Id: Ia6e350aca7351e2c35096785bfbe6498f161f758
src: Fixing signed/unsigned comparison warnings and removing all warning-suppressing pragmas

Change-Id: I5526a00d9be6d576bb500d51c0bc6c2ad8cc541d
sqlite3: Use "dotfile" locking instead of default POSIX fs locks

This type of sqlite3 locking seems to work better if database
(~/.ndnx/ndnsec-public-info.db) is stored on NFS.

Change-Id: Ieea69d2dff2ec61f3b5440b62f88f4e54dfda1c0