Added feedforward layout.

Not perfect, but works pretty well on even reasonably complex networks.
Look at neural_extraction.py in the gui to see the algorithm failing,
but even there you can still make sense of it.
Made code for the new layout algorithms play nice.

Leaving non-feedforward as default for now. Set the feedforward
variable in server.py to True to enable the feedforward layout.