Clarifying whitespaces

Except for modules from external sources, which are

trait/pubsub (from Backbone)
util/async (from NobleJS/setImmediate)
util/deparam (from ba-bbq)
Removing .Model .View .Controller

These references are removed as a part of the 0.4 cleanup. Instead, use
._model, ._view and ._controller instead.

Fixes behance/nbd.js#45
Class: stylistic enforcement
Merge branch 'master' into 0.4
Gruntfile: dots reporter

om nom nom nom
Adding jshintrc
util/curry: implementation and test

This provides a curry function such that
Given f(x, y), curry(f)(x) returns f_(y)

Fixes #47
trait/pubsub: refactor/rewrite

Since it was originally simply taken from Backbone.Event, trait/pubsub
is now rewritten using more nbd ideas/styles. It remains mostly similar
to Backbone's implementation, being heavily inspired by it.

Fixes #50
JSHint: correcting for JSHint violations

No bigs
Merge pull request #51 from Aintaer/0.4

Development on 0.4 Features
Updaing package.json

Removing requirejs as a dependency since builds and tests are done
through wrapper tasks.
util/curry: reworked curry to use context

Instead of curry being a function that takes a single function as the
argument, use the context as the function to be curried, in the way of
util/construct.

This way to curry with predefined args:

    curry.call(fn, arg1, ...)

The old behavior of creating a currying function can still be gotten by:

    curried = curry.bind(fn)

This leads to less confusion about the number of functions involved.
Promise: moved the actual promise out

Into its own module! We separate the trait, which creates and attaches a
promise instance onto its context, from the Promise itself.
util/when: fixed up Promise usage

Can no longer use trait/promise as a Promise implementation.
Testing both separately. There is no Promise implementation test except
for the Promises/A+ compliance test.
Promise tests: moved from trait/promise

Tests moved and module added to build
Merge branches 'curry' and 'promises' into behance-0.4