Added channel context to commands

- Still only one connection (so some commands do still lack a channel
context)
- Approx. 20~40 goroutines
- Constant memory and cpu usage.
- Can consider 1 connection per channel, but ~600 goroutines (~200 *
read, write, channel manager) seems a bit much

- Remove items from irc.lastChannel that are older than 5 minutes
- Rename irc.lastChannel -> irc.lastMessage, and change the type to
*justinfan.Message
- irc.lastMessage is used to derive a channel context for jtv commands
clearchat, specialuser, emoteset, and usercolor.  The last 3 commands
must wait for the message to be received by justinfan.  The timeout for
this receive is 10 seconds.
- The majority of goroutines are waiting on a 0.1s timer that is holding
the received signal open to allow commands to be processed after the
corresponding message is received.