Loading commands on demand increases performance

Rebased version of #1134

@sindresorhus says:

> I would rather we find the bottlenecks a fix them rather than hiding it with lazy requires.

But in fact it is a bottleneck. Commands should be loaded only when necessary. Let's iterate.

```
bower &> /dev/null  1.10s user 0.15s system 95% cpu 1.314 total
bower &> /dev/null  0.66s user 0.08s system 99% cpu 0.750 total
```

Almost every command is faster.