В чем разница между методами register() и boot() в ServiceProvider Laravel и в каких сценариях их можно использовать?