[Proposal]Make detach() method in BelongsToMany a bit more docile

Calling the `detach` method without a supplied integer or array results in all attached models being detached.
I don't think this is the intuitive result of calling detach() without an input, and I could see some unintentional deletes being done with this behavior.

The _delete all related models_ feature already exists with the `delete` method, so it's still possible to do when making the `detatch` method more docile.

_Edit: Now with code attached_