Add timing information for commands

This supersedes #199.

I changed the implementation to use the Bash `time` keyword, which allows us to do less fudging around with the exit codes and `TRAVIS_CMD`.
@joshk You mentioned in the previous PR that we shouldn't time the `exports`. One thing to consider is that the exports can have command substitutions (`$(some_command)`), which could take time to execute. I'm not sure if that means it's worth timing though. WDYT?