Add Izhikevich neuron type

Same initial commits as the Sigmoid neuron type, but the last commit adds Izhikevich neurons. They're quite slow to simulate (partly because in order to estimate the rates, we have to simulate them for 1.1 seconds -- see `nengo.utils.neurons.settled_firingrates`). I think I've faithfully translated @tcstewar's code, but there are some oddities in the response curves of some neurons, which is I believe what makes the decoding unreliable. Another thing to look into on Monday!