Fix issue 20 when Array prototype is shimmed

this.binders is an Array.  When you mess with the prototype and add a function there, then "for (x in theArray)" would return the function you added.  Messing with global objects is bad practice, but it is seen in some 3rd party libraries.

Adding a check here to ensure that we are getting just the properties for the object and not its prototype will solve this issue.  Another solution, which is the direction this patch uses, is to just iterate from 0 through the length of the array.
Merge pull request #22 from fidian/has-own-property

Fix problems when Array prototype is shimmed