cDefine is incorrect: doesn't distinguish bw `-Dfoo` and `-Dfoo=""`
```
#if defined(D20190130T173651) && (D20190130T173651 != 0)
#define foo 32
#else
#define foo 33
#endif

#include <stdio.h>
int main (int argc, char *argv[]) {
  printf("ok:%d=\n", foo);
  return 0;
}
```

```
clang -o /tmp/D20181107T193702 -DD20190130T173651 $timn_D/tests/nim/all/t0156.c
# works

clang -o /tmp/D20181107T193702 -DD20190130T173651="" $timn_D/tests/nim/all/t0156.c
t0156.c:5:52: error: invalid token at start of a preprocessor expression
#if defined(D20190130T173651) && (D20190130T173651 != 0)
```


## proposal
a tiny bit hacky but works very well and super simple:
```
const unlikelyVal = "D20190130T175016"
proc cDefine*(name: string, val = unlikelyVal) {.compileTime.} =
# distinguish whether val == unlikelyVal
```
