a bunch of fixes

- fix up promise implementation in many spots
- mock out the heroku destroy method
- skip the heroku test for now
- change @public to @payload