Added timeout handling

There are cases where the $.ajax(ajaxopts) call will not receive a
response. One such instance that we found is where the vimeo video is
protected (not embeddable). Test url: http://vimeo.com/7968917. Adding a
default timeout will allow such errors to be caught by the plugin's
error function.

Also, the onError callback stubs were not inside a function wrapper,
which caused the error function to execute before the ajax call was
made. The reason this was probably not observed until now was that the
default error function was empty.