Implemented direct-to-nonlinearity connections

Implemented direct-to-nonlinearity connections (i.e. direct-to-neuron connections). This gives us the ability to do inhibitory connections.

- Added two new classes in connections.py to handle d2nonlinearity connections.
- Split the _add_filter_transform functions into two separate functions to reduce code duplication.
- Added ipython notebook example for inhibitory gating
- Added calc_direct_connect_transform function to Nonlinearity objects. This determines how a Nonlinearity object transforms a given transform to a d2nonlinearity transform (e.g. for an LIF Nonlinearity, you need to multiply the given transform by the neuron gains)
- Edited DecodedConnection and NonlinearityConnection to check if post is a Nonlinearity. If it is, then it will use the new code.