Moved operator construction to build()

Moved the logic that was in Simulator.__init__ to the add_to_model functions
in order to ultimately simplify the build process.  Now we can create specific
simulator operators at build time, which should make it easier to make new
Connection classes, and generally simplify the process of getting from a model
to a simulator.
Disallow negative dimensions and n_neurons
Mocked out networkx so docs build

Might be better to read requirements.txt
for these rather than manually defining.
comments and docstrings in simulator.py
converted communication example to ipython
minor cleanup to communication example
Created controlled oscillator examples
Split steps to have adding probes a separate step
added combining notebook
less verbose 2drep and controlled integrator
Add helper for piecewise inputs

Progress towards issue #116
Update controlled oscillator for piecewise
Fixing typo in objects.py
Merge branch 'master' into chris-examples

Conflicts:
	examples/controlledintegrator.ipynb