face: Skeleton implementation for the TCP protocol (face, channel, factory)

refs: #1132, #1133, #1134, #1135

Change-Id: I4a5935a078c7289dc6ea9b33f358f1a578c4405c
face/tcp: Implementing accepting and establishing connections with TCP Channel

refs: #1132, #1133, #1134, #1135

Change-Id: I8878784059fd962187bfcdd23b5adcaf9135cf4e
face/tcp: Adding success/fail callbacks for TCP channel connect/listen

refs: #1132, #1133, #1134, #1135

Change-Id: I7df15dd9cd24f26b1ed96a4781934ffd93bc8f6e
face/tcp: Implementing mock version of TcpFace

The real version should avoid all exceptions in the processing path,
enable lazy decoding of Interest/Data packets, and implement
LocalControlHeader processing and association with Interest/Data
packets.

Change-Id: Ied907b3d10b7110a1dcc05d0d6d3c0dd277df8e1
refs: #1132, #1133, #1134, #1135
face/tcp: Add map of remoteEndpoint-Face within channel

If connect operation requested twice for the same remote endpoint (and
the first connection was successful), the second request will call
FaceCreated callback immediately (or after endpoint resolution) with the
previously created face.

refs: #1132, #1134

Change-Id: I5f7e5237a42289a96d7fd9d16bda47fc7cda4dfc
Merge branch for issue: #1132
src: Changing namespace ndn to namespace nfd

Also, this commit imports used classes from ::ndn namespace (from
NDN-CPP library) directly to ::nfd namespace.

refs: #1163

Change-Id: I9cc9d72e00af495b4ed0c84e6d418a7c9ba986cb