Added ProteinPair.crossover() and chunk of genetic Algorithm

I think we should add a parameter in the GUI. If the GA runs for 10000
iterations without significant progress it stops itself. I think this
value should be available to the user rather than hard-coded. But we'll
see if we can even add something to the GUI.
Also saw some weird if statements like this:
if(object)
I'm not sure what this means, I assummed it meant:
if(object != null)

They also send the process Id to the GUi and back, but java has no
reliable platform independant way to do this, so we might skip it, we'll
see. It's the <worker> getpid() </worker>

Also, everytime I need to use the socket I just write
socket.sendMessage(message) or something like that and comment it out.
I'm think we should write a simple wrapper class for the socket that has
sendMessage(), recieve message() and other stuff in it, just to make
things easy. But you gotta teach me the proper methods to use to send /
receive stuff

Also I think I'm starting to understand the "type" i see everywhere. I
think maybe the program folds it in chunks. It folds sequences of the
same letters such as "hhhhhhhhhppppppp" would be folded in two
sequences. "type" refers to whicd secondary structure we are trying to
generate a hydrophobic one, (as in the "h") sequence, or trying to
generate the hydrophilic (polar) sequence ("p"). Remind me to go through
all C++ code for SS_TYPE and make sure it matches the java code