Check if 404_override controller is in a subfolder

If $route['404_override'] is set to a controller that is in a subfolder it will not be found. This changeset will also check if controller filename exists in application/controllers/class/class.php.

Per the user guide, controllers maybe placed in a subfolder of the same name inside of the application/controllers folder.