Sự khác biệt giữa phương thức register() và boot() trong ServiceProvider của Laravel là gì và chúng có thể được sử dụng trong những trường hợp nào?