Use iterator_traits<It>::value_type instead of It::value_type
Added when_any and when_any_back to the header synopsis.

Renamed parameter packs from T to Futures, consistently use class instead of typename.
Wording for requirements and result type of the variadic whens
Merge pull request #57 from K-ballo/fix-51

Address #51: when_all/when_any result type