Add message passing skeleton.

Spaghetti is organized in a 3-layer architecture. The top layer is the
controller which manages the individual islands. Each island is a Master-Slave
PGA corresponding to an individual population and the slave PGAs work on the
population in parallel.