Robot boat with Pi and Arduino Mega on board. Where to store code?

I am building an autonomous boat. Arduino drives the motors, reads the sensors, etc. The boat will have solar panels which will run the Pi and Arduino 24/7 and the motors for as long as possible at a low speed. It will be designed to patrol waypoints or head to a predetermined location.

Raspberry Pi streams video, at least thats all its planned to do for now....

  1. Am I better off storing all the functions on Arduino itself, or storing them on the Pi and passing commands to the Arduino? If the answer is some, which ones?

  2. How stable is the serial connection between the Pi and Arduino? Can I trust the Pi not to flake out and needed to be rebooted or something if this thing is a hundred miles from shore?

  3. Should the satellite/GSM/Wifi and RF (for local control when the craft is in line of sight) be wired directly to the Arduino or the Pi? I am assuming the Arduino as it seems the most stable, but if the Pi and its connection to the Arduino are stable too it might be easier to put some on that.