Add testem.json.
Change defineProperty from `values` to `get/set` to play nice with anyone using phantomjs.
Fix undefined is not a function bug in chrome with experimental javascript enabled.

Fixes: #23

This was being caused by us calling desc.values, which if the property was defined in array form normally would return undefined, no big deal. However, with experimental javascript enabled, this actually returns the Array.prototype.values function, which then goes on to wreak havoc. So instead, explicitly catch and cast the array form into object form, safely.
Bump version