tools: various improvements in nfdc

* use same underlying type for ParseMode and AvailableIn,
  to avoid potential errors when converting between them
* simplify AvailableIn stream output operator with text::Separator
* allow CommandParser::addCommand to accept bitwise OR'ed modes
* qualify nfdc logging sources with 'nfdc.' prefix

refs #3780

Change-Id: I2eee3d562184daf27305c2d5f2892637b63421c2
diff --git a/tools/nfdc/command-definition.cpp b/tools/nfdc/command-definition.cpp
index cb25c7c..67ca456 100644
--- a/tools/nfdc/command-definition.cpp
+++ b/tools/nfdc/command-definition.cpp
@@ -33,7 +33,7 @@
 namespace tools {
 namespace nfdc {
 
-NDN_LOG_INIT(CommandDefinition);
+NDN_LOG_INIT(nfdc.CommandDefinition);
 
 std::ostream&
 operator<<(std::ostream& os, ArgValueType vt)