Modify BelongsToMany::attach() to return boolean results

Rather than resort to throwing an exception and requiring ugly application-level code to deal with it, we return the result of the attach in all cases.

Note that this also removes the touchIfTouching() call on failed inserts, which may be troublesome if the user is manually editing database records

Closes laravel/framework#3110