There is a document in the GIT that has information on the CompuTrainer serial protocol:
That will help with 5, but looking at it, the format is pretty painful. For 4, most Arduinos will already come with a USB port that functions as a virtual COM port or serial port - this is the same method that the CompuTrainer uses to communicate with a PC, so this part is pretty easy: you just need to configure the USART or serial receiver/transmitter on your Arduino with the same parameters as documented in the doc and GC should be able to communicate with it.