Enum and non-enum use in conditionals

Fix to make conditionals using DT_CONTAINER like play nice with the dirent.h legacy define and enum d_type. For example, (is_container?DT_CONTAINER:DT_DIR).

This technique is described (here)[http://gcc.gnu.org/onlinedocs/gcc-4.6.2/cpp/Self_002dReferential-Macros.html#Self_002dReferential-Macros].