Call finished() only after everything is done

Previously it would call finished when everything had been started.

Also, add a simple wrapper if your have an array of functions, instead
of an array of items.
CI: add travis.yml