Change visibility of `providers` and `booted` to protected

This changes `$providers` and `$booted` in `Application` to protected, which makes it easier to extend.