Improve doc-hints `returnContentEqualsContentOf` and `addsTypeOfArgContent`

Authored by flherne on Jan 2 2017, 6:05 PM.

Description

Improve doc-hints returnContentEqualsContentOf and addsTypeOfArgContent

These only worked when the source type was a ListType-based container.
Most notably, this excluded tuples, so list((1, 2, 3)) didn't work.

This was also wrong when the source was a dict - it uses the key type,
so list({'a': 1}) should be list of str rather than list of int.

Custom iterable types weren't supported.

Regression for dict({'a': 1}) - before, it got type dict of int - the
key type was lost, but at least the value type was correct. Now it gets
type dict of str, which is just plain wrong. The sequence-of-tuples
case was never handled; we really just need a new hint for this method.

One test (dict_of_int_call) goes from passing (but partially incorrect) to failing.
One new XFAIL test (dict_from_tuples).

Improved two tests; still pass (dict_of_int, dict_access)
Six new tests fail->pass.

Differential Revision: https://phabricator.kde.org/D3920