Make circuitbuild.c: global_circuitlist a proper doubly-linked list

I had a go at legacy/trac#4519 (moved), and instead of doing the thing described there I decided to simplify the code and make the big global_circuitlist list a nice doubly-linked list.

Trac:
Username: marek