Optimized ko.utils.arrayIndexOf
Wrapped arrayIndexOf in an immediate function which checks if
Array.prototype.indexOf exists and returns a function depending on that
check.
Cache length of array in for loops
optimized ko.utils.arrayIndexOf for old browsers

implemented using the shim from the mdn
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf
as template
Fixes Issue #823
Revert "optimized ko.utils.arrayIndexOf for old browsers"

This reverts commit 66e4b4af22222213bb32ec8e5ce6c3c16c183f7e.
merged #824
merging #800