0.4.0
Controller/Entity: testing destroy()
Views: wrappers for DOM manipulation

Instead of relying on jQuery API on all `$view`, provide and use wrapped
functions that will use the jQuery API if it exists. But if not, uses
raw DOM API.

Also makes `$view` into DOM elements when only string is returned from
templating.
Element and Entity View tests: covers destroy cases

In addition to other minor branches.
trait/promise: testing for thenable and promise

Missing tests for two methods.
trait/pubsub: complete testing for all provided methods

Missing tests were filled in for new .one() and for additional cases of
.listenTo and .stopListening
util/: adding istanbul ignore

For amdefine in node environments
util/construct test: testing edge cases

Like what happens when your constructor has a return value.
util/diff: checking deep objects

Used to think different objects are different regardless of their
content. Now recurses properly into object tree.
View test: covering new static methods

Static helper methods wrap around DOM manipulators.
Model: killing unused markDirty()

It used to be used for a fast path, which no longer exists due to its
troublesome nature.
Class: _super edge case correction

When extending with a prototype key '_super', extended methods do not
clean up correctly if they call `this._super()`
Istanbul ignore lines for amdefine

amdefine used in node environments to avoid module.exports
Promise test: additional constructor chaining cases

Tests what happens when throwing another promise into the constructor of
a promise.
Build of nbd 0.4.0
util/curry test: module returning original impl