icsp - разьем для программирования контроллера - http://en.wikipedia.org/wiki/In_Circuit_Serial_Programming_(ICSP) aref - опорное напряжение для ацп - http://arduino.ru/Hardware/ArduinoBoardMega2560
Если чуть подробнее. ICSP — это просто повторение пинов 5V, GND, RESET, MISO, MOSI, SCK (для Uno это пины 11-13) в одной группе 3×2. Нужны эти хеадеры, чтобы прошивать микроконтроллер не через USB, а через программатор. Правила пользования ими абсолютно точно такие же, как и для обычных пинов. AREF используется для увеличения точности `analogRead`, если заведомо известно, что вам не придёт сигнал выше определённого напряжения. Скажем, 3,3 В. В этом случае вы запускаете на AREF 3,3 В и при вызове `analogRead` значение 1023 соответствует уже именно этим 3,3 В.
Быть может. Нужно смотреть что за куллер. На нём есть собственный драйвер мотора? Если нет, то это мотор со всеми вытекающими: потребление тока более 40 мА и обратная ЭДС при остановке. А это губительно для пинов контроллера. В этом случаю нужно использовать подключение через транзистор и диод, либо через H-Bridge вроде L293D.
От Vin — ok. С него без проблем можно брать до 500 мА. Но в этом случае у вас куллер неуправляемый: просто постоянно крутится. Для управления нужна обвязка, как уже говорилось. Ибо с пина можно получить только 40 мА, а вам нужно 250.