Help with module system

This module system is pretty confusing.

In the files that create a module, you set the `module.exports` property to whatever you want client code to get when they require your file.

In this case, all we want to export is the `Thing` constructor function, so we set `module.exports = Thing`

When you require it later, the `require` functions returns the whatever was stuck on the `exports` property as-is. So we want to make a new local variable called Thing that is a reference to the same constructor function.

Then we can use it with new and test its instanceproperties.