wip
Refactoring of threading system and implementation of new io management for transforms.
Refactoring of threading system and implementation of new io management for transforms.
Merge branch 'io-slots' into dev

Conflicts:
	test/io_test.py
adds missing transform update after api update
better example output
Merge branch 'io-slots' into dev

Conflicts:
	example/shapes.py
	test/io_test.py
minor update to avoid problems when someone define initialize either without calling super() or with transform plugging
goes back to 0.2 tick time instead of 0.5, we never know
Merge remote-tracking branch 'origin/master' into dev
fix python compatibility
Finalization of new threading engine, now works for real on old transformation set.
remove exception catcher because the scheduler is going to do better work about this.
removes python 2.6 support in travis, because of OrderedDict usage. To support it again, we need to install the substitute package (only for py2.6) and import it from ordereddict instead of collections.
Communication queues refactoring.

New threaded harness nows completely replace the old one, which has been
deleted. If you're using harness2 in your code, you'll need to replace
it with harness.
Communication queues are now more explicitly plugged, and "auto_create"
is removed from the QueueCollection class.
CommunicationChannelCollection is now called QueueCollection, for
consistence.
Converging, diverging and diamond shaped transformation graphs should be
allowed soon.
chain_add() is dead, glory to add_chain()

chain_add method was not flexible enough, and needed an instance
attribute to store a last transform state. Apart from linear
transformation chains, it could not help, and thus it has been replaced
by add_chain method that does not have the instance state change side
effect. It creates a linear (sub)graph of transforms, and eventually
plugs some given output to the first transform input, and the last
transform output to some given input.
Transformations can now use different outputs.

Safety check added when plugging transforms so we cannot anymore plug an
already used transformation (`virgin` property). Split transform wan now
be used to route rows between different outputs, depending on a callable
result. Base transform is fixed so non default output channel can be
used.
Updated documentation with latest IO api changes.
Removed python 2.6 support in test suite because of OrderedDict unavailable before 2.7. Some importable counterparts exist, and we should be able to add it again someday.
Better output for Log() transform.