fix(store): make NodeExtern.Value a *string

Before this change if the value of a Node was "" it would get dropped from the json
encoding and the Node.Value field would be missing. Fix this problem by making
NodeExtern.Value a *string so that an empty string will be encoded but a nil value
will drop the field.
Merge pull request #524 from yifan-gu/remove_omitempty_on_value

remove omitempty on value