Update dev dependencies.
Use Chai's new lazy-message feature.

Assertion messages are now functions instead of strings, which due to chaijs/chai#268 means they are lazily computed. This means we no longer trigger getters, e.g. the ones causing deprecation messages in #38. It also means that the actual process of calculating the assertion messages (including formatting the objects involved) only happens when the assertion fails, which fixes the slowness observed in #30.

So: fixes #30; fixes #38.
Fix up license and package.json metadata.