Unmagify network

As per recent discussions, this PR removes the magic from `Network`.

This is still a WIP as I'm not done converting all of the networks, but I wanted to make this PR now to get comments on how the revised networks look. In my opinion, they look simpler, and should be much easier to extend.

A common thing we were doing before was adding in new arguments whenever something needed tweaking, but that's not a good long term solution. Now, we should be using config objects to set the same properties for groups of objects. The revised `nengo.networks.actionselection.BasalGanglia` is a good example of this. However, there is a bit of an issue in that it introduces some global state (if you change some default for `actionselection.gaba_config`, it will affect all basal ganglias from that point forth [though not any from before the change]).
Yeah, there's actually a few annoying place that we support Python 2.6. I was going to make an issue to get rid of 2.6 compatibility, but I think we should keep that for after the 2.0 release. Once we make a release that works with 2.6, I'm comfortable dropping 2.6 support (which will simplify several things), so that there's at least some recourse for those stuck on super old OSes.