Started implementing networks

- Basically our way of doing simple templates
Added Integrator template

- A very basic template, but shows that the Network base works
- Also unit test and example for Integrator template
more careful error checking in SignalView.__init__
SignalView reshape for size==1
SignalView transpose implementation
new case for SignalView.shares_memory
two new easy tests
Initial implementation of PassthroughNode
added neuron sort and rasterplot helper functions
finished rasterplot and sorted_neurons helper functions
small fix to objects.py
updated the multiplication notebook to be more informative
Integrator working with PassthroughNode
Converted examples to ipython notebook

- oscillator
- single neuron
fix: SignalView.shares_memory_with
more cases implemented for may_share_memory
Added basal ganglia network
Fix: skip combinations for lists of len < 2

If a list has 0 or 1 elements in it, then there are no pairs to check.
Also, asking for combinations of 2 raises an exception.
Allow string probes to handle networks

The string syntax 'A.B' could mean to probe signal B on object
A, or to do a default probe on the object 'A.B'.  The fix here
is to check if 'A.B' exists, and if it doesn't, then try looking
for 'A' and probing it for 'B'.
Made PassthroughNodes probeable