Fix FileValidation to verify > 4 bytes, add models, controllers, and views, config folder, and bootstrap file

FileValidation now verifies the complete file signatures of all valid file types. When reading local files, the entire file is no longer read into memory; instead, only the first (n + 4) bytes that are needed are read. The first four bytes are checked first; if it's invalid, we continue to check 2 more bytes at a time until we reach the size of the largest file signature.

A folder for models, controllers, and views have been added. Models are handled by the Eloquent ORM, meaning all models must extend the Illuminate\Database\Eloquent\Model class. Controllers and views are tied to routes. Views are found according to their controller and method name. Views should be located under the views directory in (a) folder(s) that matches the namespace and class name of the controller, in a file that's identical to that method. For example, a route that goes to the index() method in the Controllers\Admin\Announcements class should have a view in app/views/admin/announcements/index.blade.php.

More config files have been added to "centralize" the configuration options for the app. The Application class should contain all application specific, "environment agnostic" code, meaning configuration options that can be shared between development and production environments. The database.yml file contains the configuration for database credentials. Production credentials are stored in environmental variables.

A bootstrap file has been added in the start folder to "boot up" the app. It creates a new Container instance that handles all the requests and Eloquent (DB) connections.