Fixed CopyOnWriteObserverSet locking policy
Obligation @reason is now properly guarded by mutex
fixed Obligation#value

Obligation#value now waits correctly when state is not completed
Added unit test for Obligation
added count down latch class, inspired by java.util.concurrent.CountDownLatch
fixed non-deterministic event spec

Due to an improperly synchronized array, event spec sometimes fails; this issue has been solved using a count down latch instead
scheduled task fixing and refactoring

general class refactor
fixed add_observer when state is unscheduled
fixed cancel when state is unscheduled
ScheduledTask better thread-safeness

removed Observable module and added the thread safe CopyOnWriteObserverSet
code refactoring
common code between future and scheduled task refactor

pulled up common future and scheduled task code into Obligation
added specs for new obligation methods
Change how rescues are handled

Always add a Rescuer to the list, then call try_rescue on the whole
rescuers list if the Promise isn't pending anymore.
Merge pull request #11 from gcapizzi/change_rescue_handling

Change how rescues are handled
Added Giuseppe Capizzi to the contributor list in the README
Merge remote-tracking branch 'cr/master'