Remove: Large try/catch blocks in module

The try/catch statements have been moved to smaller functions
which simply try to return the built-in if it exists. If not they
return false. This allows the module body to exist outside of
multiple try/catches and simply use the default (||) operator
to select the appropriate implementation.

Also in this patch is a modification to the bind function which
better handles the arguments object.

Signed-off-by: Kevin Conway <kevinjacobconway@gmail.com>
Merge pull request #7 from kevinconway/no_try_catch

Remove: Large try/catch blocks in module