Fix createTempDir use of tmp package

The tmp package updated it's API to return a cleanup callback in addition to just the directory name. Q then squashes the two arguments to the callback into an array, while bower expected just a string for the directory name.

This causes "TypeError: Arguments to path.join must be strings" errors to appear, seemingly non-deterministic, because various spots attempt to use the `_tempDir` value (now an array) to join into a path.

semver ftw!

edit: added error details for those searching
This can be done more cleanly using:

```
.spread(function(dir) {
  this._tempDir = dir;
  return dir;
}.bind(this));
```