Fix Function.bind to use newBoundFunction...

...instead of newBoundFunctionObject

Basically, newBoundFunctionObject returns an incomplete object (without a prototype, __prototype__, etc.)
Fix Object.defineProperties to only enumerate over enumerable