Integrate Promises/A+ tests
More improvements, then returning promises