Fallback types for interfaces registered in IoC container on application boot

This closes #3854
PR regarding discussion over https://github.com/laravel/framework/issues/3854