Convert clique

This also introduces a special way to handle async generators. It is not
clear yet how async generators are supposed to work, but in our case we
convert the async generator to a sync generator, consume the generator
inside the worker and return an array.
Increae timeout for travis
Upgrade some packages
Restructured _internals

This allows us to use destructuring to require internal modules which
saves us from writing require('../../_internals') over and over again.
Use 6to5 instead of esnext

6to5 has better support for ES6 features, a minimal runtime and allows
us to include the runtime manually where we want to. In contrast, esnext added
a tiny runtime to every file where needed.

Since 6to5 uses es6-shim, we can also make use of the ES6 API (such as
Array.from). However, it will affect the environment, since it is a
polyfill (which could be considered as bad, but I think it's OK).