Fixed tests + better map, find and until

- Updated tests to use chai-as-promised since they were not failing when
expected to fail (i.e. map test was testing each and should have failed
and didn't).
- Updated map and find to support a function returning a promise or not.
- Updated until to support max tries and delay between tries.
- Includes gyllstromk/q-plus-plus#4