Add gallery-sm-promise-events module
+tests, +apidocs, s/Events/EventNotifier/, cleanup

* Moved `prototype._decorate` to static `decorate` method.
* changed from depth-first to breadth-first notification order to match
  resolution callback order. Much code reduction as a result.
* Added manual and unit tests
* Added APIdocs
Fix class name in README
Remove duplicate from if (condition && condition)
remove Array.unique() dep, do it my damn self

And fix the constructor name in the manual test while I'm in there.