My questions is what input is the ESC expecting to see for speed control? I'm assuming it is a PWM signal, but at what frequency and what is the duty cycle for minimum and maximum throttle?
No need to mess with pwm and timing. An ESC emulates a servo input so you interface it with an Arduino by using one of the servo libraries. Beware you find the esc documentation to explain how the esc is 'armed'. This is a combination of certain servo settings for certain amount of time. This is a safety feature to prevent a motor spinning on first powering up.