Test for the behavior of then()

There needed to be test for the then() callback returning a promise or
throwing an error.
Also added test for the optional callbacks in Y.when()
Remove getResult(), unnecessary test in _notify

Resolver#getResult was unnecesesary since we're not exposing it to the
promise and is not necessary for internal use.
A check for the existance of "subs" in _notify was a left over from the
previous version in which some callback arrays could be gone. Now that
array always exists.
Put Y.batch in the promise module
Missing newlines
Use "i" instead of "j" in Y.batch
Add example to Promise constructor docs

Also comment on why duck typing is used to determine if an object is a
promise
Rename callback lists to _callbacks and _errbacks

Added extra API docs for callback lists and inline comments to explain
why they're reset each time fulfill/reject are called
Merge Commit
Fixed up CLI tests
Seed, Loader and Promise build