fixed the naming convention between keys and key_combos and added a check itno the routing_info object to check the assumption that key & mask = key.

This is after a rather long debate with rowley over how we represent these objects and concepts
added a thread pool to the trnasciever on the hope that this solves the itermiddent issue about creating threads.
added a fix to spike soruce possion.

fixed dse report for app pointer table

added some __repr__ and __str__ to key objects so that debugging is cleaner and objects are determinable by their label in the debugger
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)
Merge remote-tracking branch 'remotes/origin/master' into spinnman_register_listener_branch

Conflicts:
	spinnman/_threads/_scp_message_interface.py
	spinnman/transceiver.py