toContain works with array-like objects (Arguments, HTMLCollections, etc)

Take 2, mostly following the directions this time...

toContain only works with proper Arrays and strings (or other things that implement indexOf). It can work with HTML Collections and Arguments lists using Array.prototype.indexOf. Behavior is unchanged for objects that already have indexOf