Correct bug in unique

For some godawful reason 
```
console.log(JSON.stringify(value) + " => " + JSON.stringify(value)) for key, value of {}
```
logs
```
undefined => undefined 
```

So we must ensure we only return properties owned by the output object, so that null doesn't get added to our array of unique elements. This issue may be specific to my setup (Latest version of Chrome, running on a Windows VM in close proximity to an Indian burial ground), but I believe this change still improves the clarity of the example.