make StringValue wrapper okay to call on NULL

The docs say "don't do this", but it's trivial to make safe.  Make
StringValue(NULL) return NULL instead of crashing.

Change-Id: I2221bcb4c98d8adb4e25c764d7bdcfa787822bcf
diff --git a/edify/expr.c b/edify/expr.c
index 7a5b2fb..3600075 100644
--- a/edify/expr.c
+++ b/edify/expr.c
@@ -50,6 +50,7 @@
 }
 
 Value* StringValue(char* str) {
+    if (str == NULL) return NULL;
     Value* v = malloc(sizeof(Value));
     v->type = VAL_STRING;
     v->size = strlen(str);