rewrote #build_network for SeekingNet

Agents now have genomes, but those genomes are not being used properly.
When the agents are created, they go through a special build process for
their brains to set up the proper network. But then, immediately after
creating the agents, the simulation creates their genomes and then
replaces all the weights in the agents brains with those genomes. That's
fine when the networks are nothing special, just completely randomized
matrices, but for the SeekingAgents (and future ones) this just doesn't
work, because they DON'T have networks of completely randomized
matrices: they have very specifically calculated matrices. So what I'm
doing is essentially building myself a nice simulation full of agents
who immediately lose their brains -__-. This needs addressing.

UPDATE: Actually, my theory was incorrect. The default implementation of
#set_weights was to return self and not actually do anything at all, and
that function was never being overwritten. So the problem outlined in my
theory above was never actually reached, because the agents simply were
never using their evolving genomes.

I have properly connected the brains to the agents now,  but I replaced
all the hard work I did in the SeekingNet calculating the output layer
so that it would weight the signal based on the position of the
corresponding sensor :-\ I realized that once the agents were properly
hooked up to their brains, those values would just be replaced by the
random ones from their assigned genome, so why bother? Whether or not
this is what should be happening remains to be seen.