Prefer tasks + config inline within project

grunt-microlib was a good idea, but proved to be
more confusing and hard to work with then expected.

Going forward, we can extract more parts of this build 
setup into modules. But the core config, should likely
continue to remain in the project.

Hopefully this improves hackability.

(@stefanpenner / @njj023)
add grunt-cli
bump to latest promise spec version

- update the adapter
- update some reps
hot fix promise-spec on phantom
fixup package.json
tidy-up RSVP.hash
fix all to work if an array element is null
require Promise constructor to be new'd
perf boosts

- custom pub-sub for propogate state changes instead of event emitter
- minimize closure allocations.
- as we only need to publish once, cleanup subscribers after publish
Merge pull request #132 from stefanpenner/perf

Perfs
Add instrumentation.

```js
function listener (event) {
  event.guid            // guid of promise
  event.childGuid       // guid of child promise (for chained via `then`)
  event.eventName       // one of ['created', 'chained', 'fulfilled', 'rejected']
  event.detail          // fulfillment value or rejection reason, if applicable
  event.label           // label passed to promise's constructor
}

RSVP.Promise.on('created', listener);
RSVP.Promise.on('chained', listener);
RSVP.Promise.on('fulfilled', listener);
RSVP.Promise.on('rejected', listener);
```

Events are only triggered when `RSVP.Promise.instrument` is true, although
listeners can be registered at any time.
Merge pull request #137 from hjdivad/inspection

Add instrumentation.
Restory some minor perf regressions.

_guid that was created via string concat + increment was abit costly.
Applying the string concat later during event trigger seems better.

Promise.instrument not being defined also caused some slow down, so lets
just define it off the bat.
small OCD
fixup failed test
Add timeStamp to instrumentation event

The timeStamp holds the UTC UNIX timestamp when the instrumentation
event has been created.

This closes #138
Merge pull request #139 from pangratz/add/timeStamp_to_instrumentation_event

Add timeStamp to instrumentation event
tidy up the constructor
Adjust instrumentation to only work via the RSVP namespace

This should satisfy @domenics OCD.
be slightly less paranoid