Spike injector, reverse iptag multicast source model and various tests for this model debugged
Merge remote-tracking branch 'origin/master_pop_table_refactor_to_pluggable' into master_pop_table_refactor_to_pluggable

Conflicts:
	neural_modelling/src/command_sender_multicast_source/command_sender_multicast_source.c
	neural_modelling/src/common/spin1-api-configuration.c
	neural_modelling/src/delay_extension/delay_extension.c
	neural_modelling/src/live_packet_gather/live_packet_gather.c
	neural_modelling/src/neuron/c_main.c
	neural_modelling/src/robot_motor_control/robot_motor_control.c
	neural_modelling/src/spike_source/common/spike_source.c
cleaning c and python code
started master pop change
cleaning C code for the reverse iptag multicast source model, initial implementation of the live packet gatherer C model , added a few parameters in the model generator for the live packet gatherer and corrected spelling
added python support for a binary list based master pop table. Still need to add the hooks for linking different executables via this master pop strucutre.
Merge remote-tracking branch 'origin/master_pop_table_refactor_to_pluggable' into master_pop_table_refactor_to_pluggable
so massive commit. But hold on before shouting about little bits. As this has been a working progress for over a week

This commit includes:
 1. fixes to get_weights,
 2. the optimisations of dsg now being executed over a thread pool (gives approx 50% inprovement in speed [on the little test case i threw at it])
 3. The fix to edge pruning so that it now actually works (logic fix and synaptic sublist lo atom to n_atoms fix)
 4. The cleaning of weight scale factor to be called in dsg and stored in subedge projections till needed at get_weights level.
 5. The massive cleanup of stdp in changing public variables into private, adding getters and setters and creating a inhirtance hirarky for being able to tell the difference between time, weight and voltae dependancies. (whats a voltage dependance by the way?) Added checks into stdpmechanism to stop us putting apples and pears in wrong order.
 6. removed row legnth of 0 from row length table and throws an error if a row length of zero is ever calcualted.
7. added a stanptic matrix report which is avilable to tell whats ine ach synaptic matrix
8. added a processor to memory address mapping report which is generated by default.
9. updated setup.py to support new strucutre of stdp dependancies.
10. changed key for processor mappings to be a tuple isntead of a string
11. added a few progress bars to stop the impression of us freezing.
12. placed a multitude of __str__ and __repr__ in a bunch of classes to make debugging much easier
13. added asserts into key sections to stop us reading in 33 bit memory addresses (not supproted in current spinnaker)
C code for the live packet gatherer completed and tested. Currently the python code does not receive the packets sent from SpiNNaker although a network sniffer (wireshark) is able to see them
Removed some debug code erroneously left in.
fixes to n_m_words
fixed delays so that they dont breakd uring dsg with a associated edge issue
fixed delays represnetation for subedges and fixed c code for row length table fix.
Port listener now running!
Now the packet received from the live packet gatherer are correctly parsed.
THIS COMMIT DOES NOT WORK!!!
Merge from master to the master_pop_table_pluggable.
Committing for team work fixing of the merged code
THIS COMMIT DOES NOT WORK!!!
Merge from master to the master_pop_table_pluggable.
Committing for team work fixing of the merged code
just a few fixes to making reprots easier. nothing yet on why the master pop table entry not built
fixed branch. bloody row length issue.
Merge pull request #6 from SpiNNakerManchester/master_pop_table_refactor_to_pluggable

Master pop table refactor to pluggable
fixed a intergration test cfg. to note make reprots always in folder