Make Sun Wukong even more powerful!

Summary:
Sun now listens in on 1s/0s: deploys and notices the hipchat messages
that jenkins is sending to that room, and uses that to keep track of
what links it's asking users to click on.  You can then say things
like 'sun, abort' or 'sun, finish' to have sun click on those links
for you!

(It's actually slightly different links, since the jenkins links take
you to a webpage where you click 'ok', while sun just runs the
commands directly.)

Oops, I was still calling a function that doesn't exist anymore.

Refactor into a separate function for each thing we're listening for.

This has plusses and minuses.  On the plus side, it's now easier to
see all the things we listen for, since they're all together in the
module.exports section rather than being separated by a bunch of code.

On the minus side, the code for a regexp is now separated from the
regexp itself.  This is particularly galling when the code uses
msg.match(1) -- you now need to look at a totally different part of
the file to see what the 1st regexp match is supposed to capture.

Overall, I think it's probably a small net win.  I suspect we're going
to add even more things that sun listens to in the future, and it will
be nice to be able to see all the regexps at a glance.

Dunno how I made this typo: it's 'abort', not 'rollback'.

Fix another typo.

I could be convinced that onHttpError is a worse name than httpError,
but for now I've decided it's better...

Fix an undefined variable.

Log any errors we get when talking to jenkins and hipchat.

When run under upstart on toby, these errors will go to
   /var/log/upstart/culture-cow.*

Test Plan:
Absolutely none.  Will probably end up just testing on the live site.

(Still none.)

(Still none whatsoever.)

(Still none)

(still none.)

(Still none.  But at least I'm reading through the code...)

Fingers crossed.

Reviewers: ben

Reviewed By: ben

Differential Revision: http://phabricator.khanacademy.org/D13095