refactor(belongsToMany): change the docs a bit and improve restriction handling