Refactoring for readability and bug fix for long chains of promises
Rewrite of promise to make use a trampoline system to manage recursion instead of setTimeout
Added way to handle exceptions thrown and a way to print them with stack traces where possible
Adjusted unit test to reject proper error condition
Disable debug when running unit tests for compliance
Removing debug traces in spromise unit tests
Merge pull request #19 from MiguelCastillo/performance-test

Major refactor of promise to use trampoline to handle queuing tasks rather than using setTimeout