fused types: specialize each base type only once, also for compound type args

Make also the corresponding change in cpdef signature resolution.

This is a behavior change, as cross-product specializations are no
longer generated for memoryview arguments.
fix C++ warnings

--HG--
extra : amend_source : 04828c16faf5af6bf7203a7ae59ad1f365cb5699
use proper ref-counting for new generator attributes (strings => tp_traverse() is not needed)
fix field names in last commit
reduce build overhead in travis
changelog
Merge pull request #284 from pv/fused-fixes

fused types: specialize each base type only once, also for compound type args
merge
changelog
fix creation order of set literals by first generating all items and only then adding them to the set (as CPython does it)

--HG--
rename : tests/run/set.pyx => tests/run/set_literals.py
extend dict test to match set literal sideeffect tests
changelog
reduce some unnecessary overhead in fused types runtime dispatch code
fix test code
remove unused doctest code
fix test: runtime dispatch is done only on the first occurrence of a fused buffer type and later mismatches lead to type failures after the call (which is acceptable since it speeds up the dispatch and leads to an error anyway)
changelog
whitespace
work around bug in fused types code that prevents typing the signature of the runtime dispatch function
reduce runtime overhead of fused types dispatch some more