Enabled harmony-generators and included Q library

istanbul stable reports errors when using generators, thus the harmony
branch is used now.

heroku needs to call npm start to enable the harmony flag
Task.perform supports generators as used in Q

You can either set perform to a generator, or set it to a function that
returns a Promise
Most tasks use new generator syntax