Zero filters before use.
Begin checking return of mallocs for NULL.
Link against fewer neural_modelling libraries.
Run applications only for the specified amount of time, then clean up if requested.
[Bugfix] Only try to set the run time on non-virtual vertices.
Check the return code of all spin1_malloc calls for NULL, remove compiler warnings.

 - Malloc success printed to IO_BUF
 - Simulation cancelled if malloc fails
Neaten the MALLOC_FAIL_* definitions to reduce duplication.

 - Don't bother mallocing for size 0!
Don't MALLOC space for filters if there are none.
Simulator time progression accounts for simulation time of Node.
Merge branch 'general-io-nodes' into refactored-vertices

Conflicts:
	nengo_spinnaker/simulator.py
[Bugfix] Error in filter routing table generation.