Make build_list_params() accept iterable object

Previously, only a derivied method of special connection classes could accept an iterable object into `items` argument, whereas the base method `AWSQueryConnection.build_list_params()` depended on list type and couldn't handle an iterable object. This commit fixes this problem, and adds some corner cases about it in unit tests.