fixes value propagation logic

Value propagation was given by the custom promise api and wasnt consistent
with the $q api. This commit makes custom api consistent and introduces various fixes
to accomodate the new api behavior.
bumps v0.2.3