Fix for bind compatibility implementation (polyfill).

Previously, reconstruction of arguments was incorrect if arguments contained
arrays. Arrays were added to arguments as their elements and not as a whole
array. It is enough to simply pass whole array to concat and it will be (only
one level deep) added to arguments.

In addition, we call slice on arguments for maximum compatibility (it is used
in Underscore.js library, with which I was comparing implementations while
debugging).
Handle undefined url in LinkAnnotation
Merge pull request #4299 from peerlibrary/bind-compatibility

Fix for bind compatibility implementation (polyfill)
Merge pull request #4300 from Snuffleupagus/issue-4296

Handle undefined url in LinkAnnotation