cyclicStringify() on non-cyclic data handling

As pointed out by lambdor, in the replacer function, "value" might be "null", which converts to "object" with "typeof". Thus accessing "name" fails. This can be easily seen to happen when the "next" points to null i.e. the chain is actually acyclic. Code modified to handle this. runDemo() modified to check both cases (cyclic data and acyclic data)