Make sure to pass the right types to LinkBegin
If Linker::link() is passed an invalid Title, now that it fails gracefully, we should fail gracefully before passing over to the hook. In theory some hooks might want to override this, but it's unlikely, because any caller that passes a non-Title is probably buggy and should be fixed anyway. This saves unexpected fatal errors and/or having to add "if( !$target instanceof Title ) return true;" to the beginning of every function hooking into this.
Also ensure that $options is an array before passing to the hook, just for convenience.